The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

Is there a way to split the git history of a file or combine the histories of two files without a merge commit?

Studying how git recovers history.

Microspeak terms that didn’t take hold: airspace, synthetics, and AOI

Sometimes they don't stick.

Why do we have header files <pshpackN.h>
and <poppack.h>
instead of just issuing the pragma directly?

Because the pragma may not work everywhere.

Converting to a derived class from the future: How to cast from a base class to an incomplete derived class?

Deferring the definition until the class is complete.

API naming principles for conditional operations: On, When, and If

Describing when a condition is tested.

What is the CONTINUE_IF_FAILED
equivalent of RETURN_IF_FAILED
?

Be careful how you write it, or better: Don't write it at all.

It rather involved being on the other side of this airtight hatchway: Disabling anti-malware scanning

If you have already infiltrated the process, then you can disable things from the inside.

Learning to read C++ compiler errors: Failing to create a shared_ptr

Understanding what you asked the compiler to do, and why it couldn't comply.

Learning to read C++ compiler errors: Nonsensical errors from a function declaration

Look closely at what the error message is complaining about.