The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

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

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

BERJAYA
Raymond Chen

Putting the handles in a private container.

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

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

BERJAYA
Raymond Chen

You can track the file ID.

BERJAYA
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

BERJAYA
Raymond Chen

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

BERJAYA
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?

BERJAYA
Raymond Chen

Static libraries don't stand a chance.

BERJAYA
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

BERJAYA
Raymond Chen

I want to speak to your manager.

BERJAYA
May 4, 2026
Post comments count 1
Post likes count 4

How do I inform Windows that I’m writing a binary file?

BERJAYA
Raymond Chen

You don't. All files are binary at the file system level.

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

Developing a cross-process reader/writer lock with limited readers, part 4: Abandonment

BERJAYA
Raymond Chen

Recovering from death of the owner.

BERJAYA
Apr 30, 2026
Post comments count 3
Post likes count 2

Developing a cross-process reader/writer lock with limited readers, part 3: Fairness

BERJAYA
Raymond Chen

Let the exclusive acquisition have a fair chance against shared acquisitions.

BERJAYA
Apr 29, 2026
Post comments count 1
Post likes count 2

Developing a cross-process reader/writer lock with limited readers, part 2: Taking turns when being grabby

BERJAYA
Raymond Chen

Please, not everybody, everything all at once.