🦜 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.
Windows stack limit checking retrospective: MIPS
https://devblogs.microsoft.com/oldnewthing/20260313-00/?p=112138
Published: March 13, 2026 14:00
Optimizing out the unnecessary probes comes with its own complexity.
The post Windows stack limit checking retrospective: MIPS appeared first on The Old New Thing.
Windows stack limit checking retrospective: x86-32, also known as i386
https://devblogs.microsoft.com/oldnewthing/20260312-00/?p=112136
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?
https://devblogs.microsoft.com/oldnewthing/20260311-00/?p=112134
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.
A snappy answer when asked about dressing casually at IBM
https://devblogs.microsoft.com/oldnewthing/20260310-00/?p=112131
Published: March 10, 2026 14:00
Oh, this old thing?
The post A snappy answer when asked about dressing casually at IBM appeared first on The Old New Thing.
The fine print giveth and the bold print taketh away: The countdown timer
https://devblogs.microsoft.com/oldnewthing/20260309-01/?p=112120
Published: March 9, 2026 14:00
Think fast, no pressure.
The post The fine print giveth and the bold print taketh away: The countdown timer appeared first on The Old New Thing.
Learning to read C++ compiler errors: Ambiguous overloaded operator
https://devblogs.microsoft.com/oldnewthing/20260309-00/?p=112118
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 ReadDirectoryChangesW reports that a deletion occurred, how can I learn more about the deleted thing?
https://devblogs.microsoft.com/oldnewthing/20260306-00/?p=112116
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>ReadDirectoryChangesW</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
https://devblogs.microsoft.com/oldnewthing/20260305-00/?p=112114
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 QueryPerformanceCounter never fails
https://devblogs.microsoft.com/oldnewthing/20260304-00/?p=112110
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>QueryPerformanceCounter</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
https://devblogs.microsoft.com/oldnewthing/20260303-00/?p=112104
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?
https://devblogs.microsoft.com/oldnewthing/20260302-53/?p=112098
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 IsDialogMessage, fine-tuning the message filter
https://devblogs.microsoft.com/oldnewthing/20260227-00/?p=112094
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>IsDialogMessage</CODE>, fine-tuning the message filter appeared first on The Old New Thing.
Intercepting messages inside IsDialogMessage, installing the message filter
https://devblogs.microsoft.com/oldnewthing/20260226-00/?p=112090
Published: February 26, 2026 15:00
Using an IsDialogMessage extension point.
The post Intercepting messages inside <CODE>IsDialogMessage</CODE>, installing the message filter appeared first on The Old New Thing.
Intercepting messages before IsDialogMessage can process them
https://devblogs.microsoft.com/oldnewthing/20260225-00/?p=112087
Published: February 25, 2026 15:00
Process the message before you let IsDialogMessage see it.
The post Intercepting messages before <CODE>IsDialogMessage</CODE> can process them appeared first on The Old New Thing.
Customizing the ways the dialog manager dismisses itself: Isolating the Close pathway
https://devblogs.microsoft.com/oldnewthing/20260224-00/?p=112082
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
https://devblogs.microsoft.com/oldnewthing/20260223-00/?p=112080
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.
The 2026/2027 Seattle Symphony subscription season at a glance
https://devblogs.microsoft.com/oldnewthing/20260220-01/?p=112076
Published: February 20, 2026 15:00
The pocket reference guide for 2026/2027.
The post The 2026/2027 Seattle Symphony subscription season at a glance appeared first on The Old New Thing.
Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, first (failed) attempt
https://devblogs.microsoft.com/oldnewthing/20260220-00/?p=112074
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.
Exploring the signals the dialog manager uses for dismissing a dialog
https://devblogs.microsoft.com/oldnewthing/20260219-00/?p=112072
Published: February 19, 2026 15:00
Summarizing the flow.
The post Exploring the signals the dialog manager uses for dismissing a dialog appeared first on The Old New Thing.
Could WriteProcessMemory be made faster by avoiding the intermediate buffer?
https://devblogs.microsoft.com/oldnewthing/20260218-00/?p=112069
Published: February 18, 2026 15:00
I guess it could, but why bother?
The post Could <CODE>WriteProcessMemory</CODE> be made faster by avoiding the intermediate buffer? appeared first on The Old New Thing.
Microspeak: Escrow
https://devblogs.microsoft.com/oldnewthing/20260217-00/?p=112067
Published: February 17, 2026 15:00
Final build, final, final, final 2, ship this one.
The post Microspeak: Escrow 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
https://devblogs.microsoft.com/oldnewthing/20260216-00/?p=112065
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?
https://devblogs.microsoft.com/oldnewthing/20260213-00/?p=112062
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_KEYDOWN message?
https://devblogs.microsoft.com/oldnewthing/20260212-00/?p=112059
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>KEYDOWN</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?
https://devblogs.microsoft.com/oldnewthing/20260211-00/?p=112057
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?
https://devblogs.microsoft.com/oldnewthing/20260210-00/?p=112052
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.
What should I do if a wait call reports WAIT_ABANDONED?
https://devblogs.microsoft.com/oldnewthing/20260209-00/?p=112049
Published: February 9, 2026 15:00
It's your one chance to make amends.
The post What should I do if a wait call reports <CODE>WAIT_<WBR>ABANDONED</CODE>? 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
https://devblogs.microsoft.com/oldnewthing/20260206-00/?p=112045
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?
https://devblogs.microsoft.com/oldnewthing/20260205-00/?p=112042
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.
Super Bowl LX creates an opportunity for symphonic friendly wagering
https://devblogs.microsoft.com/oldnewthing/20260204-01/?p=112039
Published: February 4, 2026 15:00
Betting classical music.
The post Super Bowl LX creates an opportunity for symphonic friendly wagering appeared first on The Old New Thing.
How can I prevent the user from changing the widths of ListView columns?
https://devblogs.microsoft.com/oldnewthing/20260204-00/?p=112037
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
https://devblogs.microsoft.com/oldnewthing/20260203-00/?p=112035
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.
Studying compiler error messages closely: Input file paths
https://devblogs.microsoft.com/oldnewthing/20260202-00/?p=112027
Published: February 2, 2026 15:00
Are you even compiling the correct file?
The post Studying compiler error messages closely: Input file paths appeared first on The Old New Thing.
Why not store the SAFEARRAY reference count as a hidden allocation next to the SAFEARRAY?
https://devblogs.microsoft.com/oldnewthing/20260130-00/?p=112025
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?
https://devblogs.microsoft.com/oldnewthing/20260129-00/?p=112023
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 SafeArrayAddRef?
https://devblogs.microsoft.com/oldnewthing/20260128-00/?p=112021
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>SafeArrayAddRef</CODE>? appeared first on The Old New Thing.