The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

The case of the recursively hung <CODE>WM_DRAW­CLIPBOARD</CODE> message
Dec 23, 2022
Post comments count 4
Post likes count 1

The case of the recursively hung WM_DRAW­CLIPBOARD message

Raymond Chen
Raymond Chen

Understanding why it's happening and how you can avoid it.

Is there a fixed virtual address that the system promises never to use for anything, so I can use it?
Dec 22, 2022
Post comments count 7
Post likes count 2

Is there a fixed virtual address that the system promises never to use for anything, so I can use it?

Raymond Chen
Raymond Chen

Everything is up for grabs.

Running some UI code on a timer at a higher priority than your usual timer messages, or without coalescing
Dec 21, 2022
Post comments count 3
Post likes count 1

Running some UI code on a timer at a higher priority than your usual timer messages, or without coalescing

Raymond Chen
Raymond Chen

You can build your own timer system.

Why doesn’t the BitLocker wizard let me save the BitLocker key on an encrypted drive?
Dec 20, 2022
Post comments count 9
Post likes count 4

Why doesn’t the BitLocker wizard let me save the BitLocker key on an encrypted drive?

Raymond Chen
Raymond Chen

Don't lock your keys in the car.

On the large number of ways of expressing Microsoft Visual C++ compiler versions
Dec 19, 2022
Post comments count 6
Post likes count 3

On the large number of ways of expressing Microsoft Visual C++ compiler versions

Raymond Chen
Raymond Chen

So many version numbers.

Why doesn’t Windows use the 64-bit virtual address space below <CODE>0x00000000`7ffe0000</CODE>?
Dec 16, 2022
Post comments count 7
Post likes count 5

Why doesn’t Windows use the 64-bit virtual address space below 0x00000000`7ffe0000?

Raymond Chen
Raymond Chen

It does use it, although it doesn't look like it.

Inside C++/WinRT: <CODE>IReference<T></CODE>
Dec 15, 2022
Post comments count 1
Post likes count 0

Inside C++/WinRT: IReference<T>

Raymond Chen
Raymond Chen

Reverse-engineering the usages from the code.

In C++/WinRT, how do I create or consume an <CODE>IReference<T></CODE> that wraps a particular value?
Dec 14, 2022
Post comments count 0
Post likes count 0

In C++/WinRT, how do I create or consume an IReference<T> that wraps a particular value?

Raymond Chen
Raymond Chen

Conversions to and from IReference.

Thank you for conference announcement, but it would help if you told me what your conference was about
Dec 13, 2022
Post comments count 5
Post likes count 2

Thank you for conference announcement, but it would help if you told me what your conference was about

Raymond Chen
Raymond Chen

There was an announcement of an all-day Microsoft-internal conference featuring a project I will call Project Enzyme. The announcement went like this: The Project Enzyme Forum is our flagship community conference that brings together engineers, project managers, data scientists, and designers from around the company to learn about Project Enzyme and get a first look at some of the exciting new improvements in the platform. Senior leaders will share their vision for Project Enyzme and how we can use it to create the next wave of cutting-edge products and experiences. Other senior leaders will participate in a ...