The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Dubious security vulnerability: Remembering passwords for recently-opened ZIP files
Sep 2, 2025
Post comments count 3
Post likes count 0

Dubious security vulnerability: Remembering passwords for recently-opened ZIP files

Raymond Chen
Raymond Chen

If it didn't remember them, you wouldn't like it.

Thoughts on creating a tracking pointer class, part 16: Second attempt to use a list
Sep 1, 2025
Post comments count 3
Post likes count 0

Thoughts on creating a tracking pointer class, part 16: Second attempt to use a list

Raymond Chen
Raymond Chen

We can splice nodes to move them between lists.

Thoughts on creating a tracking pointer class, part 15: A custom shared pointer
Aug 29, 2025
Post comments count 2
Post likes count 1

Thoughts on creating a tracking pointer class, part 15: A custom shared pointer

Raymond Chen
Raymond Chen

Simplifying it for out limited use case.

Thoughts on creating a tracking pointer class, part 14: Nonthrowing moves with the shared tracking pointer
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

Raymond Chen
Raymond Chen

Moving the exception somewhere else.

Thoughts on creating a tracking pointer class, part 13: Restoring the strong exception guarantee
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

Raymond Chen
Raymond Chen

Don't commit to anything until you know you can finish the job.

Thoughts on creating a tracking pointer class, part 12: A shared tracking pointer
Aug 26, 2025
Post comments count 0
Post likes count 1

Thoughts on creating a tracking pointer class, part 12: A shared tracking pointer

Raymond Chen
Raymond Chen

Sharing a single tracking pointer among all instances.

Thoughts on creating a tracking pointer class, part 11: Repairing assignment
Aug 25, 2025
Post comments count 0
Post likes count 1

Thoughts on creating a tracking pointer class, part 11: Repairing assignment

Raymond Chen
Raymond Chen

Restoring things that were automatically deleted.

Thoughts on creating a tracking pointer class, part 10: Proper conversion
Aug 22, 2025
Post comments count 0
Post likes count 1

Thoughts on creating a tracking pointer class, part 10: Proper conversion

Raymond Chen
Raymond Chen

Making sure you cannot remove qualifiers.

Thoughts on creating a tracking pointer class, part 9: Conversion
Aug 21, 2025
Post comments count 0
Post likes count 0

Thoughts on creating a tracking pointer class, part 9: Conversion

Raymond Chen
Raymond Chen

Making a read-only tracking pointer from a read-write tracking pointer.