The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Learning to read C++ compiler errors: Ambiguous symbol errors after including a header file
Jun 19, 2025
Post comments count 0
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 3

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 5
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.

Removing the <CODE>MAX_PATH</CODE> restriction on paths applies only to paths
Jun 11, 2025
Post comments count 6
Post likes count 3

Removing the MAX_PATH restriction on paths applies only to paths

Raymond Chen
Raymond Chen

The individual file names still retain their existing limits.

Application compatibility for Windows 95 crashed a cash register
Jun 10, 2025
Post comments count 6
Post likes count 4

Application compatibility for Windows 95 crashed a cash register

Raymond Chen
Raymond Chen

Exceeding all reasonable maximums.

Dubious security vulnerability: Tricking a program into running non-elevated
Jun 9, 2025
Post comments count 2
Post likes count 1

Dubious security vulnerability: Tricking a program into running non-elevated

Raymond Chen
Raymond Chen

You can do anything, but still within the limits of your authority.