The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Jul 24, 2024
Post comments count 7
Post likes count 1

API naming principle: If there is no direct object, then the direct object is the source object

Raymond Chen

If you don't know what it operates on or produces, then it operates on or produces itself.

Jul 23, 2024
Post comments count 11
Post likes count 3

Unquoted service paths: The new frontier in script kiddie security vulnerability reports

Raymond Chen

Usually not exploitable, but the script kiddies don't know that.

Jul 22, 2024
Post comments count 9
Post likes count 5

Organizing the five creation dispositions of the Create­File function

Raymond Chen

Six possibilities, but only five useful ones.

Jul 19, 2024
Post comments count 0
Post likes count 1

Creating an already-completed asynchronous activity in C++/WinRT, part 9

Raymond Chen

Cheating the delegates.

Jul 18, 2024
Post comments count 1
Post likes count 1

Creating an already-completed asynchronous activity in C++/WinRT, part 8

Raymond Chen

Generalizing the pattern.

Jul 17, 2024
Post comments count 2
Post likes count 1

Creating an already-completed asynchronous activity in C++/WinRT, part 7

Raymond Chen

Implementing the contract directly.

Jul 16, 2024
Post comments count 0
Post likes count 1

Creating an already-completed asynchronous activity in C++/WinRT, part 6

Raymond Chen

Let the conversion do the talking.

Jul 15, 2024
Post comments count 0
Post likes count 1

Creating an already-completed asynchronous activity in C++/WinRT, part 5

Raymond Chen

Trying to fail more correctly.

Jul 12, 2024
Post comments count 2
Post likes count 3

Creating an already-completed asynchronous activity in C++/WinRT, part 4

Raymond Chen

Failing is easy. Failing correctly is hard.