The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

API design note: Beware of adding an “Other” enum value
Feb 17, 2025
2
0

API design note: Beware of adding an “Other” enum value

Raymond Chen
Raymond Chen

What are you going to do when you add a new kind?

Investigating an argument-dependent lookup issue and working around it
Feb 14, 2025
3
3

Investigating an argument-dependent lookup issue and working around it

Raymond Chen
Raymond Chen

Picking apart the language specification.

A sample implementation of the weak reference pattern for COM callbacks
Feb 13, 2025
1
1

A sample implementation of the weak reference pattern for COM callbacks

Raymond Chen
Raymond Chen

A forwarder through a weak reference.

Async-Async revisited: What about cancellation?
Feb 12, 2025
3
1

Async-Async revisited: What about cancellation?

Raymond Chen
Raymond Chen

Even the cancellation is async.

Did the Windows 95 setup team forget that MS-DOS can do graphics?
Feb 11, 2025
0
4

Did the Windows 95 setup team forget that MS-DOS can do graphics?

Raymond Chen
Raymond Chen

Oh look what you just made there.

How does Explorer find the “first” icon in a file
Feb 10, 2025
4
1

How does Explorer find the “first” icon in a file

Raymond Chen
Raymond Chen

It enumerates them and takes the first one, so this is really a question about enumeration.

Using alternate locales to get more interesting case mapping than the C
Feb 7, 2025
1
2

Using alternate locales to get more interesting case mapping than the C

Raymond Chen
Raymond Chen

Looking for something better.

The default C locale is not a very interesting one
Feb 6, 2025
7
0

The default C locale is not a very interesting one

Raymond Chen
Raymond Chen

It barely understands anything.

On exactly when XAML bindings are evaluated if an element is not yet loaded
Feb 5, 2025
7
0

On exactly when XAML bindings are evaluated if an element is not yet loaded

Raymond Chen
Raymond Chen

It depends on which abstraction you prefer.