The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

May 15, 2026
Post comments count 0
Post likes count 1

The case of the Create­File­Mapping that always reported ERROR_ALREADY_EXISTS

Raymond Chen

Maybe because it already exists?

May 14, 2026
Post comments count 4
Post likes count 2

A constant-space linear-time algorithm for deleting all but the 10 most recent files in a directory

Raymond Chen

Using data structures you already knew.

May 13, 2026
Post comments count 3
Post likes count 3

The case of the hang when the user changed keyboard layouts

Raymond Chen

Keeping things moving.

May 12, 2026
Post comments count 4
Post likes count 2

Why do Windows client editions on 32-bit x86 systems artificially limit RAM to 4 GB?

Raymond Chen

Compatibility, of course.

May 11, 2026
Post comments count 5
Post likes count 3

Additional notes on controlling which handles are inherited by Create­Process

Raymond Chen

Putting the handles in a private container.

May 8, 2026
Post comments count 7
Post likes count 4

Developing more confidence when tracking renames via Read­Directory­ChangesW

Raymond Chen

You can track the file ID.

May 7, 2026
Post comments count 2
Post likes count 3

When you upgrade your resource strings to Unicode, don’t forget to specify the L prefix

Raymond Chen

Otherwise, it'll get mapped back down to the 8-bit code page.

May 6, 2026
Post comments count 10
Post likes count 2

Why not have changes in API behavior depend on the SDK you link against?

Raymond Chen

Static libraries don't stand a chance.

May 5, 2026
Post comments count 11
Post likes count 8

A dispute over the TAB key highlights a mismatch between Microsoft and IBM organizational structures

Raymond Chen

I want to speak to your manager.