The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Jul 31, 2023
Post comments count 4
Post likes count 4

Misinterpreting the misleadingly-named STATUS_STACK_BUFFER_OVERRUN

Raymond Chen

The subcode tells you why we stopped executing, and it's rarely because of a stack buffer overflow.

Jul 28, 2023
Post comments count 1
Post likes count 1

How to split off an older copy of a file while preserving git line history

Raymond Chen

Variation on a theme.

Jul 27, 2023
Post comments count 0
Post likes count 1

Perfect forwarding forwards objects, not braced things that are trying to become objects

Raymond Chen

Before you can forward something, it needs to be a something.

Jul 26, 2023
Post comments count 0
Post likes count 2

On the various ways of creating Windows Runtime delegates in C++/WinRT and C++/CX

Raymond Chen

Comparing and contrasting.

Jul 25, 2023
Post comments count 7
Post likes count 34

Before you try to do something, make sure you can do nothing

Raymond Chen

If you can't do nothing, then don't expect to be able to do something.

Jul 24, 2023
Post comments count 0
Post likes count 2

Why does IAsyncAction or IAsyncOperation.GetResults() produce a E_ILLEGAL_METHOD_CALL exception?

Raymond Chen

You're asking too soon.

Jul 21, 2023
Post comments count 0
Post likes count 1

How to clone a Windows Runtime map in the face of possible concurrent modification, part 3

Raymond Chen

Doing it one more time, for C++/CX.

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

How to clone a Windows Runtime map in the face of possible concurrent modification, part 2

Raymond Chen

Applying what we learned about vectors.

Jul 19, 2023
Post comments count 0
Post likes count 1

How to clone a Windows Runtime map in the face of possible concurrent modification, part 1

Raymond Chen

Applying what we learned about vectors.