The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

The GETDISPINFO notifications tell you what information they want
Mar 8, 2007
Post comments count 0
Post likes count 0

The GETDISPINFO notifications tell you what information they want

Raymond Chen
Raymond Chen

The notifications used by the common controls are used when the control asks its parent to generate information that had been marked as delay-rendered, either explicitly via values such as or implicitly by being an owner-data control, for example. In fact the control is really just the middle man between the code that requested information about an item (via a message like ) and the code that generates it (your handler). In other words, the code flow goes like this: Somebody interested in retrieving data from a list view creates a structure and initializes the and other fields as necessary, based on the ma...

The wisdom of seventh graders: John Locke and influential persons
Mar 7, 2007
Post comments count 0
Post likes count 0

The wisdom of seventh graders: John Locke and influential persons

Raymond Chen
Raymond Chen

My friend the seventh grade teacher was leading the class in a discussion of the most influential persons in history, and after two days of the students collectively deciding whom they would put on the list, my friend revealed the list compiled by the author Michael H. Hart. The students felt bad that their collaborative list didn't match the one this author came up with (as if this author's list was somehow the "correct answer"), but my friend pointed out how many names matched between the author's list and the student's list, as well as the fact that the list was the author's informed opinion and not some abso...

Microspeak: Sit in it!
Mar 7, 2007
Post comments count 0
Post likes count 0

Microspeak: Sit in it!

Raymond Chen
Raymond Chen

The title of this entry is a bad pun on a catchphrase from 1970s television. I apologize to those for whom the 1970s are a bad memory. A snippet of Microspeak that bothers me is the verb phrase "to sit in". Example: "I'm in the Nosebleed group which sits in Bob Smith's organization." I think it means "to be a part of" but I'm not quite sure. Maybe it just means that they're there temporarily until they can find a more permanent "seating assignment."

What was the first parameter to CoInitialize used for?
Mar 6, 2007
Post comments count 0
Post likes count 0

What was the first parameter to CoInitialize used for?

Raymond Chen
Raymond Chen

Larry Osterman explains in a two-part series, The sad story of CoGetMalloc and Why was the ability to specify an allocator during CoInitialize removed from the system?

Things I've written that have amused other people, Episode 3
Mar 6, 2007
Post comments count 0
Post likes count 0

Things I've written that have amused other people, Episode 3

Raymond Chen
Raymond Chen

In an internal discussion of the women blogger conference known as BlogHer, somebody asked, "Why isn't there a BlogHim?" I replied, Isn't that the plural of the word "blog" in Hebrew? This got quite an amused response from the Hebrew-speaking (or at least vaguely Hebrew-aware) members of the mailing list. Not bad for having studied Hebrew for about ten seconds. (Apparently a better spelling of the plural would be "blogim" or "bloggim". But it wouldn't have been as funny.)

It's official, it's the Hannukah Eve Storm of 2006
Mar 5, 2007
Post comments count 0
Post likes count 0

It's official, it's the Hannukah Eve Storm of 2006

Raymond Chen
Raymond Chen

(Following up on an earlier entry.) The National Weather Service chose a name for the wind storm of December 2006: It's going to be called the "Hanukkah Eve Wind Storm of 2006". But what is Hannukah Eve? Eh, it doesn't look like anybody's getting too worked up over that. You can download the entire list of entries (over 5000 of them) from the NOAA web site. They also have their own discussion of how the contest went.

Hiding files is not the same as protecting them
Mar 5, 2007
Post comments count 0
Post likes count 0

Hiding files is not the same as protecting them

Raymond Chen
Raymond Chen

An anonymous commenter suggested that we should give up on "hiding protected operating system files". After all, if we "protect operating system files", that should be enough, shouldn't it? Well, except that some files are still hidden even though they are not protected. For example, your encryption keys are fully accessible to you (after all, they're your encryption keys), but they are marked as hidden because if you deleted them, your encrypted files are in trouble. "If visibility itself is core to somebody's security, why not safeguard against a file's enumeration via the ACL?" The purpose of hiding protec...

Public service announcement for Seattle area taxpayers: Some transit taxes can be itemized and deducted
Mar 2, 2007
Post comments count 0
Post likes count 0

Public service announcement for Seattle area taxpayers: Some transit taxes can be itemized and deducted

Raymond Chen
Raymond Chen

If you itemize your taxes, there are some taxes you can claim on Schedule A line 7 that you may not be aware of. These taxes are special because they are based on the value of the vehicle and therefore qualify as a "personal property tax" from the IRS's point of view. While you're on Schedule A, don't forget to claim your deduction for state sales tax on line 5. You can look up the local sales tax rate for any Washington address by using this handy web form on the State of Washington Department of Revenue site. If you prefer doing it the slow way, you can download all the local sales t...

The .Default user is not the default user
Mar 2, 2007
Post comments count 0
Post likes count 0

The .Default user is not the default user

Raymond Chen
Raymond Chen

If you ever gone spelunking in the registry key, you've no doubt found the user named . Who is this guy? Despite its name, the profile for the .Default user is not the default user profile. It's actually the profile for the Local System account and is an alias for . ( is the security identifier for the Local System account.) Consequently, settings in are used by programs and services that run as Local System. The most visible examples of programs that run as Local System are and , the programs that display the interface for logging onto the system. Whatever color scheme and screen saver you choose for the Loc...