The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
Sep 17, 2025
Post comments count
0
Post likes count
2
How can I get my shell thumbnail extractors to run in the same process?
Adding another level of indirection.
Sep 16, 2025
Post comments count
5
Post likes count
3
Translating the STATUS_STACK_BUFFER_OVERRUN status code into customer-ready text
Reducing the level of alarm.
Sep 15, 2025
Post comments count
12
Post likes count
8
Why is the name of the Microsoft Wireless Notebook Presenter Mouse 8000 hard-coded into the Bluetooth drivers?
Is it some sort of favoritism?
Sep 12, 2025
Post comments count
4
Post likes count
5
How can I convert a third party in-process server so it runs in the COM surrogate?
You can put your own object in the surrogate first.
Sep 11, 2025
Post comments count
4
Post likes count
1
Why can’t std::apply figure out which overload I intend to use? Only one of then will work!
The overload resolution happens before the compiler knows what it's going to be used for.
Sep 10, 2025
Post comments count
7
Post likes count
3
The documentation says that CompanyName version information is required, but my program seems to work without it, so how required is it?
It's more of a "Very strongly recommended" than a "Required".
Sep 9, 2025
Post comments count
9
Post likes count
1
A suggestion to people who assign nicknames to meeting rooms
Lean into the pattern. Don't try to cross it up.
Sep 8, 2025
Post comments count
14
Post likes count
1
Why didn’t Windows 95 simply special-case the laptops that locked up when it executed the HLT instruction?
The catastrophic risk of bricking a computer.
Sep 5, 2025
Post comments count
1
Post likes count
1
The case of the crash on a null pointer even though we checked it for null
Understanding what you're checking.

