The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
Sep 5, 2025
Post comments count
1
Post likes count
1
The case of the crash on a null pointer even though we checked it for null
Understanding what you're checking.
Sep 4, 2025
Post comments count
1
Post likes count
3
How can I write a C++/WinRT IAsyncOperation<T> where T is not a Windows Runtime type?, part 2
Safer smuggling.
Sep 3, 2025
Post comments count
1
Post likes count
3
How can I write a C++/WinRT IAsyncOperation<T> where T is not a Windows Runtime type?, part 1
It's not representable in the Windows Runtime, but you can smuggle it.
Sep 2, 2025
Post comments count
7
Post likes count
1
Dubious security vulnerability: Remembering passwords for recently-opened ZIP files
If it didn't remember them, you wouldn't like it.
Sep 1, 2025
Post comments count
4
Post likes count
1
Thoughts on creating a tracking pointer class, part 16: Second attempt to use a list
We can splice nodes to move them between lists.
Aug 29, 2025
Post comments count
2
Post likes count
1
Thoughts on creating a tracking pointer class, part 15: A custom shared pointer
Simplifying it for out limited use case.
Aug 28, 2025
Post comments count
2
Post likes count
0
Thoughts on creating a tracking pointer class, part 14: Nonthrowing moves with the shared tracking pointer
Moving the exception somewhere else.
Aug 27, 2025
Post comments count
0
Post likes count
1
Thoughts on creating a tracking pointer class, part 13: Restoring the strong exception guarantee
Don't commit to anything until you know you can finish the job.
Aug 26, 2025
Post comments count
0
Post likes count
1
Thoughts on creating a tracking pointer class, part 12: A shared tracking pointer
Sharing a single tracking pointer among all instances.

