The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

How to split off an older copy of a file while preserving git line history
Jul 28, 2023
Post comments count 1
Post likes count 0

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

Raymond Chen
Raymond Chen

Variation on a theme.

Perfect forwarding forwards objects, not braced things that are trying to become objects
Jul 27, 2023
Post comments count 0
Post likes count 0

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

Raymond Chen
Raymond Chen

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

On the various ways of creating Windows Runtime delegates in C++/WinRT and C++/CX
Jul 26, 2023
Post comments count 0
Post likes count 1

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

Raymond Chen
Raymond Chen

Comparing and contrasting.

Before you try to do something, make sure you can do nothing
Jul 25, 2023
Post comments count 7
Post likes count 32

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

Raymond Chen
Raymond Chen

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

Why does <CODE>IAsyncAction</CODE> or <CODE>IAsyncOperation.<WBR>GetResults()</CODE> produce a <CODE>E_<WBR>ILLEGAL_<WBR>METHOD_<WBR>CALL</CODE> exception?
Jul 24, 2023
Post comments count 0
Post likes count 1

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

Raymond Chen
Raymond Chen

You're asking too soon.

How to clone a Windows Runtime map in the face of possible concurrent modification, part 3
Jul 21, 2023
Post comments count 0
Post likes count 0

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

Raymond Chen
Raymond Chen

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

How to clone a Windows Runtime map in the face of possible concurrent modification, part 2
Jul 20, 2023
Post comments count 0
Post likes count 0

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

Raymond Chen
Raymond Chen

Applying what we learned about vectors.

How to clone a Windows Runtime map in the face of possible concurrent modification, part 1
Jul 19, 2023
Post comments count 0
Post likes count 0

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

Raymond Chen
Raymond Chen

Applying what we learned about vectors.

How to clone a Windows Runtime vector in the face of possible concurrent modification, part 4
Jul 18, 2023
Post comments count 0
Post likes count 0

How to clone a Windows Runtime vector in the face of possible concurrent modification, part 4

Raymond Chen
Raymond Chen

Translating to C++/CX and dealing with some quirks of that language.