The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

What can I do if IMlangConvertCharset is unable to convert from code page 28591 directly to UTF-8?
Jul 26, 2024
Post comments count 2
Post likes count 1

What can I do if IMlangConvertCharset is unable to convert from code page 28591 directly to UTF-8?

Raymond Chen
Raymond Chen

You can do the conversion in two steps using things you already have.

In my Visual Studio project, I set my Conformance mode to permissive, but it’s still not permissive
Jul 25, 2024
Post comments count 0
Post likes count 2

In my Visual Studio project, I set my Conformance mode to permissive, but it’s still not permissive

Raymond Chen
Raymond Chen

Digging into what the compiler sees.

API naming principle: If there is no direct object, then the direct object is the source object
Jul 24, 2024
Post comments count 7
Post likes count 0

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

Raymond Chen
Raymond Chen

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

Unquoted service paths: The new frontier in script kiddie security vulnerability reports
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
Raymond Chen

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

Organizing the five creation dispositions of the <CODE>Create­File</CODE> function
Jul 22, 2024
Post comments count 9
Post likes count 4

Organizing the five creation dispositions of the Create­File function

Raymond Chen
Raymond Chen

Six possibilities, but only five useful ones.

Creating an already-completed asynchronous activity in C++/WinRT, part 9
Jul 19, 2024
Post comments count 0
Post likes count 0

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

Raymond Chen
Raymond Chen

Cheating the delegates.

Creating an already-completed asynchronous activity in C++/WinRT, part 8
Jul 18, 2024
Post comments count 1
Post likes count 0

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

Raymond Chen
Raymond Chen

Generalizing the pattern.

Creating an already-completed asynchronous activity in C++/WinRT, part 7
Jul 17, 2024
Post comments count 2
Post likes count 0

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

Raymond Chen
Raymond Chen

Implementing the contract directly.

Creating an already-completed asynchronous activity in C++/WinRT, part 6
Jul 16, 2024
Post comments count 0
Post likes count 0

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

Raymond Chen
Raymond Chen

Let the conversion do the talking.