The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Dec 12, 2023
Post comments count 4
Post likes count 4

What happens if I define one environment variable in terms of the value of another environment variable?

Raymond Chen

Only certain types of dependencies are supported.

Dec 11, 2023
Post comments count 12
Post likes count 6

The mysterious second parameter to the x86 ENTER instruction

Raymond Chen

For an ABI that probably nobody uses.

Dec 8, 2023
Post comments count 6
Post likes count 3

A simpler version of the task sequencer that doesn’t promise fairness

Raymond Chen

Just let a kernel object control the access.

Dec 7, 2023
Post comments count 1
Post likes count 2

In C++, how can I make a default parameter be the this pointer of the caller?

Raymond Chen

Again, you can't, but you can fake it.

Dec 6, 2023
Post comments count 2
Post likes count 4

In C++, how can I make a member function default parameter depend on this?

Raymond Chen

You can't, but you can fake it.

Dec 5, 2023
Post comments count 6
Post likes count 8

What was the code name for 64-bit Windows?

Raymond Chen

Sundown, which was a hidden jab at the competition.

Dec 4, 2023
Post comments count 5
Post likes count 4

What is a static chain pointer in the context of calling convention ABI?

Raymond Chen

Buried in the System V Application Binary Interface.

Dec 1, 2023
Post comments count 6
Post likes count 3

Why does the Windows Portable Executable (PE) format have both an import section and input directory?

Raymond Chen

They seem to be the same thing. Do we need both?

Nov 30, 2023
Post comments count 2
Post likes count 5

Why does the Windows Portable Executable (PE) format have separate tables for import names and import addresses?, part 2

Raymond Chen

Keeping read-only data separate from read-write data.