The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Debugger breakpoints are usually implemented by patching the in-memory copy of the code
Nov 11, 2024
Post comments count 7
Post likes count 5

Debugger breakpoints are usually implemented by patching the in-memory copy of the code

Raymond Chen
Raymond Chen

The code in memory may not match what the debugger shows you if the debugger is itself is doing the changing.

The case of a program that crashed on its first instruction
Nov 8, 2024
Post comments count 4
Post likes count 12

The case of a program that crashed on its first instruction

Raymond Chen
Raymond Chen

Didn't even make it out of the gate.

Why do I observe reads from a memory-mapped file when writing large blocks?
Nov 7, 2024
Post comments count 6
Post likes count 5

Why do I observe reads from a memory-mapped file when writing large blocks?

Raymond Chen
Raymond Chen

The CPU doesn't see the entire write at once.

How do I declare an operator overload for my Windows Runtime class?
Nov 6, 2024
Post comments count 1
Post likes count 1

How do I declare an operator overload for my Windows Runtime class?

Raymond Chen
Raymond Chen

That's not something expressible in the Windows Runtime.

What’s the difference between Display size and Screen size in the Windows 95 display control panel?
Nov 5, 2024
Post comments count 6
Post likes count 3

What’s the difference between Display size and Screen size in the Windows 95 display control panel?

Raymond Chen
Raymond Chen

No meaningful difference, though others have created a difference.

On the limits of time travel in the face of undefined behavior in C
Nov 4, 2024
Post comments count 4
Post likes count 2

On the limits of time travel in the face of undefined behavior in C

Raymond Chen
Raymond Chen

C imposes some constraints, but the principle is mostly still there.

On locale-aware substring matching, either case-sensitive or case-insensitive
Nov 1, 2024
Post comments count 9
Post likes count 5

On locale-aware substring matching, either case-sensitive or case-insensitive

Raymond Chen
Raymond Chen

It's surprisingly complicated, but fortunately, somebody has done it for you.

What has case distinction but is neither uppercase nor lowercase?
Oct 31, 2024
Post comments count 23
Post likes count 10

What has case distinction but is neither uppercase nor lowercase?

Raymond Chen
Raymond Chen

It has one foot in each world but belongs to neither.

I have enabled “take ownership” permission, but I still cannot obtain write access
Oct 30, 2024
Post comments count 0
Post likes count 2

I have enabled “take ownership” permission, but I still cannot obtain write access

Raymond Chen
Raymond Chen

Taking ownership is only one part of gaining write access.