The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

How do compilers ensure that large stack allocations do not skip over the guard page?
Mar 11, 2026
Post comments count 1
Post likes count 1

How do compilers ensure that large stack allocations do not skip over the guard page?

Raymond Chen
Raymond Chen

Don't take steps that are too large.

A snappy answer when asked about dressing casually at IBM
Mar 10, 2026
Post comments count 3
Post likes count 3

A snappy answer when asked about dressing casually at IBM

Raymond Chen
Raymond Chen

Oh, this old thing?

The fine print giveth and the bold print taketh away: The countdown timer
Mar 9, 2026
Post comments count 8
Post likes count 1

The fine print giveth and the bold print taketh away: The countdown timer

Raymond Chen
Raymond Chen

Think fast, no pressure.

Learning to read C++ compiler errors: Ambiguous overloaded operator
Mar 9, 2026
Post comments count 1
Post likes count 1

Learning to read C++ compiler errors: Ambiguous overloaded operator

Raymond Chen
Raymond Chen

Look for the conflicting definitions to see where they are coming from.

When <CODE>Read­Directory­ChangesW</CODE> reports that a deletion occurred, how can I learn more about the deleted thing?
Mar 6, 2026
Post comments count 7
Post likes count 2

When Read­Directory­ChangesW reports that a deletion occurred, how can I learn more about the deleted thing?

Raymond Chen
Raymond Chen

It's already gone. If you need more information, you should have been remembering it.

The mystery of the posted message that was dispatched before reaching the main message loop
Mar 5, 2026
Post comments count 2
Post likes count 2

The mystery of the posted message that was dispatched before reaching the main message loop

Raymond Chen
Raymond Chen

Perhaps it's because you dispatched it.

Aha, I found a counterexample to the documentation that says that <CODE>Query­Performance­Counter</CODE> never fails
Mar 4, 2026
Post comments count 6
Post likes count 2

Aha, I found a counterexample to the documentation that says that Query­Performance­Counter never fails

Raymond Chen
Raymond Chen

Of course, anything can happen if you break the rules.

Just for fun: A survey of write protect notches on floppy disks and other media
Mar 3, 2026
Post comments count 17
Post likes count 2

Just for fun: A survey of write protect notches on floppy disks and other media

Raymond Chen
Raymond Chen

Just some useless trivia.

What sort of horrible things happen if my dialog has a non-button with the control ID of <CODE>IDCANCEL</CODE>?
Mar 2, 2026
Post comments count 3
Post likes count 1

What sort of horrible things happen if my dialog has a non-button with the control ID of IDCANCEL?

Raymond Chen
Raymond Chen

You get notifications that might not make sense.