The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Abusing copyright strings to trick software into thinking it’s running on your competitor’s PC
Jun 24, 2025
Post comments count 1
Post likes count 2

Abusing copyright strings to trick software into thinking it’s running on your competitor’s PC

Raymond Chen
Raymond Chen

I did technically cross my fingers.

The MIDL compiler still has trouble with double greater-than signs, sadly
Jun 23, 2025
Post comments count 5
Post likes count 3

The MIDL compiler still has trouble with double greater-than signs, sadly

Raymond Chen
Raymond Chen

Many have tried.

The case of the invalid handle error when a handle is closed while a thread is waiting on it
Jun 20, 2025
Post comments count 2
Post likes count 5

The case of the invalid handle error when a handle is closed while a thread is waiting on it

Raymond Chen
Raymond Chen

You are theorizing one race but experiencing another.

Learning to read C++ compiler errors: Ambiguous symbol errors after including a header file
Jun 19, 2025
Post comments count 2
Post likes count 0

Learning to read C++ compiler errors: Ambiguous symbol errors after including a header file

Raymond Chen
Raymond Chen

Finding out why multiple entities with the same name are visible.

You have to tell <CODE>Get-</CODE> and <CODE>Set­Security­Info</CODE> the object type, you can’t make it guess
Jun 18, 2025
Post comments count 0
Post likes count 0

You have to tell Get- and Set­Security­Info the object type, you can’t make it guess

Raymond Chen
Raymond Chen

It needs to know which provider to give it to.

Funding the Egghead store shopping spree took a little extra legwork
Jun 17, 2025
Post comments count 0
Post likes count 1

Funding the Egghead store shopping spree took a little extra legwork

Raymond Chen
Raymond Chen

Just ask the boss.

Writing a helper class for generating a particular category of C callback wrappers around C++ methods
Jun 16, 2025
Post comments count 1
Post likes count 4

Writing a helper class for generating a particular category of C callback wrappers around C++ methods

Raymond Chen
Raymond Chen

Another exercise in C++ template programming.

Thread pool threads are like preschool: Leave things the way you found them
Jun 13, 2025
Post comments count 4
Post likes count 2

Thread pool threads are like preschool: Leave things the way you found them

Raymond Chen
Raymond Chen

Your mother always told you to clean up behind yourself.

Why does Windows even have <CODE>Interlocked</CODE> functions when we have <CODE>std::atomic</CODE>?
Jun 12, 2025
Post comments count 7
Post likes count 0

Why does Windows even have Interlocked functions when we have std::atomic?

Raymond Chen
Raymond Chen

Well, you have to start somewhere.