The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

If the Window Runtime PropertyValue is for boxing non-inspectables, why is there a PropertyValue.CreateInspectable?
Jul 17, 2025
Post comments count 0
Post likes count 0

If the Window Runtime PropertyValue is for boxing non-inspectables, why is there a PropertyValue.CreateInspectable?

Raymond Chen
Raymond Chen

For completeness, but not for functionality.

The Fundamental Failure-Mode Theorem: Systems lie about their proper functioning
Jul 16, 2025
Post comments count 1
Post likes count 3

The Fundamental Failure-Mode Theorem: Systems lie about their proper functioning

Raymond Chen
Raymond Chen

It doesn't say what it does on the tin.

Perhaps not a recommended usage for an emergency power outlet
Jul 15, 2025
Post comments count 0
Post likes count 2

Perhaps not a recommended usage for an emergency power outlet

Raymond Chen
Raymond Chen

Maybe that's not a critical system.

There is a <CODE>std::<WBR>chrono::<WBR>high_<WBR>resolution_<WBR>clock</CODE>, but no <CODE>low_<WBR>resolution_<WBR>clock</CODE>
Jul 14, 2025
Post comments count 4
Post likes count 3

There is a std::chrono::high_resolution_clock, but no low_resolution_clock

Raymond Chen
Raymond Chen

For when you care only enough to be roughly on time.

Detecting and reporting all unhandled C++ exceptions as well as all unhandled structured exceptions
Jul 11, 2025
Post comments count 2
Post likes count 2

Detecting and reporting all unhandled C++ exceptions as well as all unhandled structured exceptions

Raymond Chen
Raymond Chen

Closing another exit point.

Our first attempt to detect and report all unhandled C++ exceptions as well as all unhandled structured exceptions
Jul 10, 2025
Post comments count 5
Post likes count 2

Our first attempt to detect and report all unhandled C++ exceptions as well as all unhandled structured exceptions

Raymond Chen
Raymond Chen

Identifying and classifying the exit points.

When I install an unhandled structured exception filter, why doesn’t <CODE>std::<WBR>terminate</CODE> get called?
Jul 9, 2025
Post comments count 4
Post likes count 4

When I install an unhandled structured exception filter, why doesn’t std::terminate get called?

Raymond Chen
Raymond Chen

You're using the same hook that the compiler uses to call std::terminate.

A walkthrough of the original Microsoft Building 3
Jul 8, 2025
Post comments count 9
Post likes count 0

A walkthrough of the original Microsoft Building 3

Raymond Chen
Raymond Chen

Don't get lost on your walk down memory lane.

Dubious security vulnerability: If I perform this complex series of manual steps, I can crash a program I am running
Jul 7, 2025
Post comments count 2
Post likes count 1

Dubious security vulnerability: If I perform this complex series of manual steps, I can crash a program I am running

Raymond Chen
Raymond Chen

What security boundary did you cross?