The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

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.

Oct 26, 2023
Post comments count 0
Post likes count 3

How to support a COM interface conditionally in C++/WinRT

Raymond Chen

Prevent <CODE>winrt::implements</CODE> from responding to it or reporting it.

Oct 25, 2023
Post comments count 5
Post likes count 6

The format of icon resources, revisited

Raymond Chen

Filling in some gaps.

Oct 24, 2023
Post comments count 2
Post likes count 4

Why is there a hash of a weak password in the Windows cryptographic libraries?

Raymond Chen

They're part of an internal self-test.

Oct 23, 2023
Post comments count 2
Post likes count 4

How do I add a non-copyable, non-movable object to a std::map or std::unordered_map?

Raymond Chen

Fancy emplacement.

Oct 20, 2023
Post comments count 0
Post likes count 1

On the failed unrealized promise of Reg­Override­Predef­Key

Raymond Chen

An early attempt to sandbox the registry for a process.

Oct 19, 2023
Post comments count 3
Post likes count 2

What’s the difference between setting a page’s protection to PAGE_NOACCESS and freeing it?

Raymond Chen

Nobody can access it, but it's still there.

Oct 18, 2023
Post comments count 3
Post likes count 3

How can I check if I’m on a DispatcherQueue’s thread if I can’t call HasThreadAccess?

Raymond Chen

Looking at the tools you have available.

Oct 17, 2023
Post comments count 5
Post likes count 2

Microspeak: The As-Appropriate (AA) interviewer

Raymond Chen

So, how are things going so far?