The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

What does it mean when the compiler tells me that promise_type
: is not a member of coroutine_traits<void>
?

Applying your understanding of the coroutine transformation.

How can I do the opposite of compare_exchange
and exchange if the value is different?

An exchange with itself has no effect on the value.

If you’re going to wrap a Windows Runtime event, you may as well let the wrapped event source manage the token

It keeps the original object in control.

Reminder: If you intend to use a C++/WinRT namespace, you must include that namespace’s header file

Various errors that can be traced back to breaking that one rule.

Trouble connecting to Web sites and services because of certificate errors? Check if you’re being held captive

There's a man in the middle.

Instead of a C++ template parlor trick, why not just add support based on whether the header file has already been included?

Header file inclusion order dependencies.

C++ template parlor tricks: Using a type before it is defined

You can talk about hypothetical things, hoping that a real thing shows up later.

Not even trying to cross an airtight hatchway: Calling a function in your own process by synthesizing a function pointer

You can already attack yourself in far more interesting ways.

I used FILE_FLAG_SEQUENTIAL_SCAN
but it didn’t seem to speed up my sequential scanning

It triggers prefetching, but your usage pattern may mean that prefetch doesn't mean much.