The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Nov 29, 2023
Post comments count 6
Post likes count 4

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

Raymond Chen

Even though their lifetimes don't overlap, you sometimes need to go back in time.

Nov 28, 2023
Post comments count 8
Post likes count 3

A reported vulnerability about getting paid apps for free is really about paying for free apps

Raymond Chen

Try shopping around.

Nov 27, 2023
Post comments count 3
Post likes count 5

In Windows 3.1 and Windows 95, what is a “grabber”?

Raymond Chen

It grabbed your MS-DOS screen and put it into a window.

Nov 24, 2023
Post comments count 10
Post likes count 11

On harmful overuse of std::move

Raymond Chen

Initial excitement leads to overuse.

Nov 23, 2023
Post comments count 0
Post likes count 2

On the need to keep most event sources alive if you want them to raise events

Raymond Chen

You can't receive a notification from something that doesn't exist.

Nov 22, 2023
Post comments count 1
Post likes count 5

How can I convert a Windows Runtime Software­Bitmap to a WIC bitmap?

Raymond Chen

The reverse of <CODE>ISoftware­Bitmap­Native­Factory::<WBR>Create­From­WIC­Bitmap</CODE>.

Nov 21, 2023
Post comments count 5
Post likes count 8

Microspeak revisited: Line of sight

Raymond Chen

A fancy way of saying unimpeded network connectivity.

Nov 20, 2023
Post comments count 0
Post likes count 3

If you’re going to crash on an unhandled exception, you may as well do it sooner rather than later

Raymond Chen

Avoiding the problem discovered by the case of the invalid argument exception from a method that takes no arguments.

Nov 17, 2023
Post comments count 0
Post likes count 3

The theory behind the IHttpFilter interface

Raymond Chen

Layering features on top of each other.