The Old New Thing

2006 end-of-year link clearance

A few random links that I've collected. And then the obligatory plug for my column in TechNet Magazine: And then the obligatory book plug: The electronic-only PDF version is now available for purchase, and it's cheaper than the dead tree edition. (Don't forget that the dead tree edition comes with 45 days of free access to the ...

Stop the madness: Subdirectories of My Documents

As a follow-up to the difference between My Documents and Application Data, I'd like to rant about all the subdirectories of My Documents that programs create because they think they're so cool. I'm sure there are more. Everything in the My Documents folder the user should be able to point to and say, "I remember creating that file on ...

The social skills of a thermonuclear device, part 3

Some years ago, a group different from the one I worked in invited me to "volunteer" to help them with serious problems they were having with their product. They asked to "borrow" me for one week so that I could magically resolve all their issues. I wasn't really that familiar with their product, and I certainly didn't know how it worked ...

I can't believe they actually can't think of a name for the recent storm

The Seattle Times reports that the National Weather Service is inviting suggestions from the public on what to call the recent windstorm. They're baffled because "the storm didn't fall on a holiday." Huh? The storm blew in on the evening of the 14th, but its effects weren't really felt until the morning of the 15th, and the first dark night...

The first parameter to VerQueryValue really must be a buffer you obtained from GetFileVersionInfo

The documentation for the function states that the first parameter is a "pointer to the buffer containing the version-information resource returned by the function." Some people, however, decide to bypass this step and pass a pointer to data that was obtained some other way, and then wonder why doesn't work. The documentation says that ...
Comments are closed.0 0
Code

The Old New Thing book will also be available electronically

We interrupt this religious holiday for an important commercial announcement. As a special Christmas present, my new best friends at Addison-Wesley sent me an advance copy of the dead-tree edition of my book. (Obligatory plug: Order it from Amazon. You know I want you to.) One commenter asked whether my book would be available ...

The evolution of version resources – corrupted 32-bit version resources

Last time we looked at the format of 32-bit version resources, but I ended with the remark that what you saw purported to be the resources of but actually weren't. What's going on here? The resources I presented last time were what the resources of should have been, but in fact they aren't. A common mistake in generating 32-bit ...

The unanswered Explainer questions

Slate's Explainer column answers questions about current events. Sometimes they do it multiple times, as they did when I asked them how to pronounce the name Pinochet and they said Pee-no-CHAY, then later corrected themselves with pin-oh-CHET, and then again re-corrected themselves with Yes. Yesterday, the Explainer provided a selection ...

The evolution of version resources – 32-bit version resources

Last time we looked at the format of 16-bit version resources. The 32-bit version is nearly identical, except that everything is now in Unicode. Each node is stored in the following structure (in pseudo-C): In words, each version node begins with a 16-bit value describing the size of the nodes in bytes (including its children), followed by...