The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Oct 26, 2026
Post comments count 0
Post likes count 1

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.

Oct 16, 2026
Post comments count 2
Post likes count 4

C++ futures part 5: std::future and std::shared_future

Raymond Chen

Getting the results back out.

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

C++ futures part 4: What if I want an immediate on-thread std::async?

Raymond Chen

Providing the case that the C++ language won't do.

Oct 14, 2026
Post comments count 1
Post likes count 3

C++ futures part 3: The mental model for std::async

Raymond Chen

Doing things later in different ways.