Old New Thing

Adding delays to our task sequencer, part 3

Waiting more cheaply. The post Adding delays to our task sequencer, part 3 appea...

Adding delays to our task sequencer, part 2

Waiting the right amount of time. The post Adding delays to our task sequencer, ...

Adding delays to our task sequencer, part 1

Not so fast there. The post Adding delays to our task sequencer, part 1 appeared...

The return of Building 7

Pranksters lose one of their longtime inside jokes. The post The return of Build...

If one program blocks shutdown, then all programs block...

No take-backs. The post If one program blocks shutdown, then all programs block ...

A note on the USB-to-PS/2 mouse adapter that came with ...

It's a purely mechanical adapter that relies on smarts in the mouse itself. The ...

We’ll fly you to Atlanta, Texas, and getting to your ho...

Reading the fine print. The post We’ll fly you to Atlanta, Texas, and getting to...

Why does INVALID_HANDLE_VALUE cast through a LONG_PTR f...

To ensure that the proper sign extension happens. The post Why does INVALID_HAND...

On launching a dialog when a specific combo box item is...

Changing selections is not a good time to launch a dialog box. The post On launc...

Fixing exception safety in our task_sequencer

Exception safety, the forgotten requirement. The post Fixing exception safety in...

The 2025/2026 Seattle Symphony subscription season at a...

The pocket reference guide for 2025/2026. The post The 2025/2026 Seattle Symphon...

On how different Windows ABIs choose how to pass 32-bit...

Surveying the options and looking for commonalities. The post On how different W...

You can’t simulate keyboard input with PostMessage, rev...

If it didn't go through the input system, it only looks like input as much as th...

What could cause a memory corruption bug to disappear i...

A simplified execution environment means fewer things that you can stumble over....

The case of the critical section that let multiple thre...

It had one job. The post The case of the critical section that let multiple thre...

Dubious security vulnerability: A program does not run ...

So what did you expect? The post Dubious security vulnerability: A program does ...

Why didn’t Windows 95 setup use a miniature version of ...

Avoiding an interim GUI environment. The post Why didn’t Windows 95 setup use a ...

What are the thread safety requirements of HSTRING and ...

They do not have thread affinity. The post What are the thread safety requiremen...

Making sure that a DLL loads only from your application...

You can ask for it as an option, but think about what you're actually protecting...

The case of COM failing to pump messages in a single-th...

A customer encountered a hang caused by COM not pumping messages while waiting f...

What an insightful observation, you get to wear “the hat”

Maybe not so insightful. The post What an insightful observation, you get to wea...

To some people, time zones are just a fancy way of soun...

Words have meaning. The post To some people, time zones are just a fancy way of ...

How do I destroy an ABI pointer that I extracted from a...

You can clean it up the ABI way, whatever that is. The post How do I destroy an ...

I tried to subscribe to a C++/WinRT event, but my callb...

Check how you registered your event handler. The post I tried to subscribe to a ...

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies.