The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

API design note: Don’t make up multiple names for the same thing
Jul 28, 2025
Post comments count 0
Post likes count 0

API design note: Don’t make up multiple names for the same thing

Raymond Chen
Raymond Chen

It may be obvious to you, but that's because you wrote it.

How can I confirm in the Windows debugger that I’m looking at a COMDAT-folded function?
Jul 25, 2025
Post comments count 0
Post likes count 3

How can I confirm in the Windows debugger that I’m looking at a COMDAT-folded function?

Raymond Chen
Raymond Chen

Ask for all the names for an address.

How can I wait until a named object (say a mutex) is created?
Jul 24, 2025
Post comments count 5
Post likes count 3

How can I wait until a named object (say a mutex) is created?

Raymond Chen
Raymond Chen

You can't, but maybe you can wait for something else.

Exploring possible solutions to the inconsistency in how Windows searches case-insensitively for named resources
Jul 23, 2025
Post comments count 5
Post likes count 1

Exploring possible solutions to the inconsistency in how Windows searches case-insensitively for named resources

Raymond Chen
Raymond Chen

Maintaining compatibility while addressing flaws.

Being more adamant about reporting that C++/WinRT was unable to resume execution on a dispatcher thread
Jul 22, 2025
Post comments count 2
Post likes count 2

Being more adamant about reporting that C++/WinRT was unable to resume execution on a dispatcher thread

Raymond Chen
Raymond Chen

Better versions in a different box.

What happens if C++/WinRT is unable to resume execution on a dispatcher thread?
Jul 21, 2025
Post comments count 1
Post likes count 2

What happens if C++/WinRT is unable to resume execution on a dispatcher thread?

Raymond Chen
Raymond Chen

What you get out of the box.

The case of the invalid instruction exception on an instruction that should never have executed
Jul 18, 2025
Post comments count 19
Post likes count 4

The case of the invalid instruction exception on an instruction that should never have executed

Raymond Chen
Raymond Chen

I don't recall ever asking you to do that.

If the Window Runtime PropertyValue is for boxing non-inspectables, why is there a PropertyValue.CreateInspectable?
Jul 17, 2025
Post comments count 0
Post likes count 2

If the Window Runtime PropertyValue is for boxing non-inspectables, why is there a PropertyValue.CreateInspectable?

Raymond Chen
Raymond Chen

For completeness, but not for functionality.

The Fundamental Failure-Mode Theorem: Systems lie about their proper functioning
Jul 16, 2025
Post comments count 5
Post likes count 5

The Fundamental Failure-Mode Theorem: Systems lie about their proper functioning

Raymond Chen
Raymond Chen

It doesn't say what it does on the tin.