The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

BERJAYA
May 29, 2026
Post comments count 0
Post likes count 0

Sharing the result of a single Windows Runtime IAsyncOperation among multiple coroutines, part 3

BERJAYA
Raymond Chen

A variation where we try only once.

BERJAYA
May 28, 2026
Post comments count 1
Post likes count 2

Sharing the result of a single Windows Runtime IAsyncOperation among multiple coroutines, part 2

BERJAYA
Raymond Chen

Just let each person take turns trying.

BERJAYA
May 27, 2026
Post comments count 0
Post likes count 2

Sharing the result of a single Windows Runtime IAsyncOperation among multiple coroutines, part 1

BERJAYA
Raymond Chen

Caching the result and knowing when the cache is valid.

BERJAYA
May 26, 2026
Post comments count 4
Post likes count 6

If C# and JavaScript lets me await a Windows Runtime asynchronous operation more than once, why not C++/WinRT?

BERJAYA
Raymond Chen

A difference in philosophy.

BERJAYA
May 25, 2026
Post comments count 10
Post likes count 5

A hypothetical redesign of System.Diagnostics.Process to avoid confusion over properties that are valid only when you are the one who called Start

BERJAYA
Raymond Chen

Putting them in a place that can access only if you call <CODE>Start</CODE>.

BERJAYA
May 22, 2026
Post comments count 3
Post likes count 1

Why do you say that a COM STA thread must pump messages if I see sample code creating STA threads and not pumping messages?

BERJAYA
Raymond Chen

You need to pump messages when idle, but maybe you are never idle.

BERJAYA
May 21, 2026
Post comments count 0
Post likes count 3

How do I use Win32 structures from the Windows Runtime?

BERJAYA
Raymond Chen

Trick question: You can't. But maybe you can fake it.

BERJAYA
May 20, 2026
Post comments count 1
Post likes count 2

The classic TreeView control lets me sort by name or by lParam, but why not both?

BERJAYA
Raymond Chen

You need to arrange to get one from the other.

BERJAYA
May 19, 2026
Post comments count 4
Post likes count 5

What is the history of the ERROR_ARENA_TRASHED error code?

BERJAYA
Raymond Chen

The storage control blocks were destroyed.