The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Nov 8, 2023
Post comments count 0
Post likes count 2

How can I get information about media playing on the system, and optionally control their playback?

Raymond Chen

Going to the global system media transport controls world.

Nov 7, 2023
Post comments count 3
Post likes count 5

“Stop sharing this folder” is not the same as “Never share this folder”

Raymond Chen

It stops sharing the folder, but that doesn't prevent you from starting it again.

Nov 6, 2023
Post comments count 3
Post likes count 4

Why doesn’t reduction by modulo work for floating point values?

Raymond Chen

Working out why it works for integers and seeing what goes wrong.

Nov 3, 2023
Post comments count 1
Post likes count 5

Why does unsafe multithreaded use of an std::unordered_map crash more often than unsafe multithreaded use of a std::map?

Raymond Chen

It's all in the implementation details.

Nov 2, 2023
Post comments count 0
Post likes count 1

How come my custom exception message is lost when it is thrown from a IAsyncAction^?

Raymond Chen

Things that survive in the C++ world and things that are lost when you cross the ABI.

Nov 1, 2023
Post comments count 2
Post likes count 2

More notes on use of the DS_CONTROL style

Raymond Chen

Styles that have to go in, and styles that have to come out. (And styles that you can choose.)

Oct 31, 2023
Post comments count 9
Post likes count 3

What is the thread reaper?

Raymond Chen

Should you fear the thread reaper?

Oct 30, 2023
Post comments count 5
Post likes count 3

What are the dire consequences of not removing all the properties that were set via SetProp?

Raymond Chen

Not so much any more, but it could be a sign that you forgot something.

Oct 27, 2023
Post comments count 1
Post likes count 2

How to support a COM interface conditionally in WRL

Raymond Chen

Customizing the QueryInterface and GetIids methods.