The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Oct 29, 2026
Post comments count 8
Post likes count 3

The support case of a customer who said that all they could see was a black screen

Raymond Chen

Then again, that is what they asked for.

Oct 28, 2026
Post comments count 1
Post likes count 4

C++/WinRT overcorrection: Using make_self and immediately converting it to the projected interface

Raymond Chen

You are taking the scenic route.

Oct 27, 2026
Post comments count 10
Post likes count 5

Why don’t we run the taskbar and Task Manager at high priority, so they can remain responsive?

Raymond Chen

Hurry up and wait.

Oct 26, 2026
Post comments count 10
Post likes count 5

Puzzling out why a program doesn’t work when run from a batch file, but works when double-clicked from Explorer

Raymond Chen

Mimicking the operation more accurately.

Oct 23, 2026
Post comments count 3
Post likes count 3

Why didn’t we use the COM static store to clean up the unmarshalable delegate?

Raymond Chen

It cleans up at the wrong time.

Oct 22, 2026
Post comments count 0
Post likes count 3

Why didn’t we use Co­Register­Initialize­Spy to clean up the unmarshalable delegate?

Raymond Chen

Looking more closely at the function's behavior and requirements.

Oct 21, 2026
Post comments count 0
Post likes count 3

Why didn’t we use Ro­Register­For­Apartment­Shutdown to clean up the unmarshalable delegate?

Raymond Chen

Too many requirements, some of which bring us full circle.

Oct 20, 2026
Post comments count 1
Post likes count 2

Microspeak: Drain the slide, back-up slides

Raymond Chen

PowerPoint presentation jargon.

Oct 19, 2026
Post comments count 9
Post likes count 3

Why do we need ud2 when int 6 is right there?

Raymond Chen

An interrupt is not a fault.