RSS Parrot

BETA

🦜 The Old New Thing

@devblogs.microsoft.com.oldnewthing@rss-parrot.net

I'm an automated parrot! I relay a website's RSS feed to the Fediverse. Every time a new post appears in the feed, I toot about it. Follow me to get all new posts in your Mastodon timeline! Brought to you by the RSS Parrot.

---

Your feed and you don't want it here? Just e-mail the birb.

Site URL: devblogs.microsoft.com/oldnewthing

Feed URL: devblogs.microsoft.com/oldnewthing/feed

Posts: 36

Followers: 12

Windows stack limit checking retrospective: x86-32, also known as i386

Published: March 12, 2026 14:00

One of the weirdest calling conventions you'll see. The post Windows stack limit checking retrospective: x86-32, also known as i386 appeared first on The Old New Thing.

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

Published: March 11, 2026 14:00

Don't take steps that are too large. The post How do compilers ensure that large stack allocations do not skip over the guard page? appeared first on The Old New Thing.

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

Published: March 9, 2026 14:00

Look for the conflicting definitions to see where they are coming from. The post Learning to read C++ compiler errors: Ambiguous overloaded operator appeared first on The Old New Thing.

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

Published: March 6, 2026 15:00

It's already gone. If you need more information, you should have been remembering it. The post When <CODE>Read­Directory­ChangesW</CODE> reports that a deletion occurred, how can I learn more about the deleted thing? appeared first on The Old New Thing.

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

Published: March 5, 2026 15:00

Perhaps it's because you dispatched it. The post The mystery of the posted message that was dispatched before reaching the main message loop appeared first on The Old New Thing.

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

Published: March 4, 2026 15:00

Of course, anything can happen if you break the rules. The post Aha, I found a counterexample to the documentation that says that <CODE>Query­Performance­Counter</CODE> never fails appeared first on The Old New Thing.

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

Published: March 3, 2026 15:00

Just some useless trivia. The post Just for fun: A survey of write protect notches on floppy disks and other media appeared first on The Old New Thing.

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

Published: March 2, 2026 20:55

You get notifications that might not make sense. The post What sort of horrible things happen if my dialog has a non-button with the control ID of <CODE>IDCANCEL</CODE>? appeared first on The Old New Thing.

Intercepting messages inside Is­Dialog­Message, fine-tuning the message filter

Published: February 27, 2026 15:00

Making sure it triggers when you need it, and not when you don't. The post Intercepting messages inside <CODE>Is­Dialog­Message</CODE>, fine-tuning the message filter appeared first on The Old New Thing.

Intercepting messages inside Is­Dialog­Message, installing the message filter

Published: February 26, 2026 15:00

Using an Is­Dialog­Message extension point. The post Intercepting messages inside <CODE>Is­Dialog­Message</CODE>, installing the message filter appeared first on The Old New Thing.

Intercepting messages before Is­Dialog­Message can process them

Published: February 25, 2026 15:00

Process the message before you let Is­Dialog­Message see it. The post Intercepting messages before <CODE>Is­Dialog­Message</CODE> can process them appeared first on The Old New Thing.

Customizing the ways the dialog manager dismisses itself: Isolating the Close pathway

Published: February 24, 2026 15:00

Intercepting the flow in your message loop. The post Customizing the ways the dialog manager dismisses itself: Isolating the Close pathway appeared first on The Old New Thing.

Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, second (failed) attempt

Published: February 23, 2026 15:00

Sniffing the synchronous keyboard state is still not precise enough. The post Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, second (failed) attempt appeared first on The Old New Thing.

Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, first (failed) attempt

Published: February 20, 2026 15:00

Sniffing the asynchronous keyboard state. The post Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, first (failed) attempt appeared first on The Old New Thing.

Could Write­Process­Memory be made faster by avoiding the intermediate buffer?

Published: February 18, 2026 15:00

I guess it could, but why bother? The post Could <CODE>Write­Process­Memory</CODE> be made faster by avoiding the intermediate buffer? appeared first on The Old New Thing.

It rather involved being on the other side of the airtight hatchway: Tricking(?) a program into reading files

Published: February 16, 2026 15:00

Is it really a trick when reading the file is the purpose of the program? The post It rather involved being on the other side of the airtight hatchway: Tricking(?) a program into reading files appeared first on The Old New Thing.

How can I distinguish between the numeric keypad 0 and the top-row 0 in the WM_CHAR message?

Published: February 13, 2026 15:00

See if it matches the scan code. The post How can I distinguish between the numeric keypad 0 and the top-row 0 in the <CODE>WM_<WBR>CHAR</CODE> message? appeared first on The Old New Thing.

How can I distinguish between the numeric keypad 0 and the top-row 0 in the WM_KEY­DOWN message?

Published: February 12, 2026 15:00

Check whether it is an extended key. The post How can I distinguish between the numeric keypad 0 and the top-row 0 in the <CODE>WM_<WBR>KEY­DOWN</CODE> message? appeared first on The Old New Thing.

How do I suppress the hover effects when I put a Win32 common controls ListView in single-click mode?

Published: February 11, 2026 15:00

You can prevent the item from becoming hot-tracked. The post How do I suppress the hover effects when I put a Win32 common controls ListView in single-click mode? appeared first on The Old New Thing.

How did Windows 95 get permission to put the Weezer video Buddy Holly on the CD?

Published: February 10, 2026 15:00

Asking nicely, and asking a lot of people. The post How did Windows 95 get permission to put the Weezer video <I>Buddy Holly</I> on the CD? appeared first on The Old New Thing.

How can I prevent the user from changing the widths of ListView columns in version 5 of the common controls?, part 2

Published: February 6, 2026 15:00

Preventing the resize cursor from appearing. The post How can I prevent the user from changing the widths of ListView columns in version 5 of the common controls?, part 2 appeared first on The Old New Thing.

How can I prevent the user from changing the widths of ListView columns in version 5 of the common controls?

Published: February 5, 2026 15:00

Deny changes to the width. The post How can I prevent the user from changing the widths of ListView columns in version 5 of the common controls? appeared first on The Old New Thing.

How can I prevent the user from changing the widths of ListView columns?

Published: February 4, 2026 15:00

You can ask the header to be non-resizing. The post How can I prevent the user from changing the widths of ListView columns? appeared first on The Old New Thing.

Some small stories about the giant satellite dish antenna that was behind Microsoft Building 11

Published: February 3, 2026 15:00

A little trivia. The post Some small stories about the giant satellite dish antenna that was behind Microsoft Building 11 appeared first on The Old New Thing.

Why not store the SAFEARRAY reference count as a hidden allocation next to the SAFEARRAY?

Published: January 30, 2026 15:00

The case of "Bring your own SAFEARRAY." The post Why not store the <CODE>SAFEARRAY</CODE> reference count as a hidden allocation next to the <CODE>SAFEARRAY</CODE>? appeared first on The Old New Thing.

How can I retain access to the data in a SAFEARRAY after my method returns?

Published: January 29, 2026 15:00

Find a way to take ownership. The post How can I retain access to the data in a <CODE>SAFEARRAY</CODE> after my method returns? appeared first on The Old New Thing.

Why did I lose the data even though I called Safe­Array­Add­Ref?

Published: January 28, 2026 15:00

You have to use the original pointer, but even that won't be good enough. The post Why did I lose the data even though I called <CODE>Safe­Array­Add­Ref</CODE>? appeared first on The Old New Thing.