Raymond Chen

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

Post by this author

I called Create­Environment­Block with a process’s token, but I didn’t get that process’s environment

That's not what the Create­Environment­Block function does.

Some choices for encrypting data so that it can be decrypted only by the same user or computer

There's your classic, and there's some newfangled stuff.

Dubious security vulnerability: Manual operations can cause a program to hang

You did this to yourself.

Why isn’t C++ using my default parameter to deduce a template type?

Trying to have it both ways.

Why does my thread get a broken string as its initial parameter?

It got converted too late.

Using the Display­Information class from a desktop Win32 application, part 2

Completing the prerequisites.

Using the Display­Information class from a desktop Win32 application, part 1

A little interop music.

How well does C++/WinRT com_ptr support class template argument deduction (CTAD)?

It doesn't even try, and probably doesn't want you to do it.

How well does wil com_ptr support class template argument deduction (CTAD)?

Falling into a hole in the C++ language, not filled in until C++20.

How well does WRL ComPtr support class template argument deduction (CTAD)?

It tries too hard and accidentally breaks CTAD.