The Old New Thing

What triggers the recall of an offline file?

Hierarchical storage management is one of the taxes software developers have to pay. What can you safely do to an offline file? What will trigger its recall? (First, a note on terminology: Recalling a file means to restore it from remote storage to local storage. A file that has been recalled is online; a file that has been placed on remote ...

Why do property sheets sometimes take a first-chance exception?

Reader cmonachan asked why can cause a first-chance exception. This is mentioned in Knowledge Base article 158552. But why take the exception in the first place? First off, let's take MFC out of the picture. The first-chance exception is coming from the property sheet manager. MFC is just the middle-man. Okay, so why the first-chance ...

What('s) a character!

Norman Diamond seems to have made a side career of harping on this topic on a fairly regular basis, although he never comes out and says that this is what he's complaining about. He just assumes everybody knows. (This usually leads to confusion, as you can see from the follow-ups.) Back in the ANSI days, terminology was simpler. Windows ...

Wait, but why can I GetProcAddress for IsDialogMessage?

Okay, so I explained that a lot of so-called functions are really redirecting macros, function-like macros, intrinsic functions, and inline functions, and consequently, won't actually get anything since the function doesn't exist in the form of an exported function. But why, then, can you for ? Let's take a closer look at the exports ...

Why can't I GetProcAddress for CreateWindow?

Occasionally, I'll see people having trouble trying to for functions like or . Usually, it's coming from people who are trying to write p/invoke signatures, for p/invoke does a under the covers. Why can't you for these functions? Because they're not really functions. They're function-like macros: In fact, as you can see above is ...

The family technical support department: Everything is Outlook

We're all in the same position. Since we work with computers all day, everybody in the extended family considers us the technical support department. One thing you all need to take away from your role as family technical support department is that normal people view computers completely differently from the way you and I do. One of my ...

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 ...