The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
How did we conclude that CcNamespace.dll was the ringleader of a group of DLLs that unloaded prematurely?
Contextual clues.
The case of the thread executing from an unloaded third-party DLL
Oops, I didn't realize that I was still doing that.
It rather involved being on the other side of this airtight hatchway: Changing administrative settings
Unlocking the door from the inside.
2026 mid-year link clearance
Made it to another midpoint.
A compatibility note on the abuse of Windows window class extra bytes
Finding an illicit place to hide data.
The evolution of window and class extra bytes in Windows
The intended usage is encoded in the prefix.
The case of the DLL that was not present in memory despite not being formally unloaded, part 2
Tying two bugs together.
Raymond’s hot take on Hainanese chicken
Subtlety.
The case of the DLL that was not present in memory despite not being formally unloaded, part 1
Figuring out how it went missing.
Cancellation of Windows Runtime activities is asynchronous
You're asking for it to cancel, but it doesn't wait for confirmation.
Microspeak elaborated: Isn’t escrow just a release candidate by another name?
Yes, but the name is a psychological trick.
In memory of the man who put red and green squiggles under words
Starting in Word and expanding to nearly every other word processor, and even things that aren't word processors.
What does it mean when the bottom bit of my HMODULE is set?
A special kind of <CODE>HMODULE</CODE>.
Why doesn’t GetLastInputInfo() return info for the user I’m impersonating?
It doesn't care about impersonation, says so on the tin.
Windows stack limit checking retrospective, follow-up
Choosing the register to use to pass the desired stack allocation size.
Retrofitting the WM_COPYDATA message onto Windows 3.1
It was carefully designed to be trivial.
The time the x86 emulator team found code so bad that they fixed it during emulation
Offensive content in the eyes of a software engineer.
How can I schedule work on a thread pool with low latency?
The thread pool is designed for throughput, not latency.