Template meta-programming: Avoiding saying a type before it is complete September 29, 2023 Sep 29, 2023 09/29/23 Raymond Chen Deferring use until after the class is defined.
C++/WinRT gotcha: get_strong() will produce a broken strong reference if destruction has already begun September 28, 2023 Sep 28, 2023 09/28/23 Raymond Chen A strong reference to nothing.
The dangers of releasing the last strong reference from within its own callback September 27, 2023 Sep 27, 2023 09/27/23 Raymond Chen Deadlocking with yourself.
Why is kernel32.dll running in user mode and not kernel mode, like its name implies? September 26, 2023 Sep 26, 2023 09/26/23 Raymond Chen It's just a name, and it comes from the days before user-mode/kernel-mode separation.
GetQueueStatus and the queue state September 25, 2023 Sep 25, 2023 09/25/23 Raymond Chen There's stuff going on that's hiding behind the innocuous-looking name.
When I try to call an exported function, the target crashes when it tries to call any Windows function September 22, 2023 Sep 22, 2023 09/22/23 Raymond Chen Using what you know about how functions are imported to construct a theory that matches the evidence.
How does Explorer calculate the “Date” of a file? September 21, 2023 Sep 21, 2023 09/21/23 Raymond Chen Mapping the generic concept to specific file types.
Why does my C++/WinRT project get unresolved externals for constructors? September 20, 2023 Sep 20, 2023 09/20/23 Raymond Chen You forgot to include the namespace header file, didn't you.
Why did the 16-bit _lopen and _lcreat function return -1 on failure instead of 0? September 19, 2023 Sep 19, 2023 09/19/23 Raymond Chen Trying to look like somebody else.
When looking to free up disk space, don’t forget your symbol file caches September 18, 2023 Sep 18, 2023 09/18/23 Raymond Chen They go all over the place.