The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

Oct 26, 2023
Post comments count
0
Post likes count
2
How to support a COM interface conditionally in C++/WinRT

Prevent winrt::implements
from responding to it or reporting it.

Oct 25, 2023
Post comments count
5
Post likes count
5
The format of icon resources, revisited

Filling in some gaps.

Oct 24, 2023
Post comments count
2
Post likes count
3
Why is there a hash of a weak password in the Windows cryptographic libraries?

They're part of an internal self-test.

Oct 23, 2023
Post comments count
2
Post likes count
3
How do I add a non-copyable, non-movable object to a std::map
or std::unordered_map
?

Fancy emplacement.

Oct 20, 2023
Post comments count
0
Post likes count
0
On the failed unrealized promise of RegOverridePredefKey

An early attempt to sandbox the registry for a process.

Oct 19, 2023
Post comments count
3
Post likes count
1
What’s the difference between setting a page’s protection to PAGE_NOACCESS
and freeing it?

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

Oct 18, 2023
Post comments count
3
Post likes count
2
How can I check if I’m on a DispatcherQueue’s thread if I can’t call HasThreadAccess?

Looking at the tools you have available.

Oct 17, 2023
Post comments count
5
Post likes count
1
Microspeak: The As-Appropriate (AA) interviewer

So, how are things going so far?

Oct 16, 2023
Post comments count
9
Post likes count
2
API design principle: Reading a property or adding an event handler should not alter observable behavior

Don't punish people for looking.