The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

Customizing item enumeration with IShellItem, the old-fashioned way

Driving it manually.

Got errands? Now is the time

Everybody else is watching the game.

Creating a shared memory block that can grow in size

The SEC_RESERVE flag.

Color-aware ClearType requires access to fixed background pixels, which is a problem if you don't know what the background pixels are, or if they aren't fixed

ClearType is a technology that blends text pixels with background pixels with the goal of reducing visual artifacts during text rendering.¹ If you go for the full-meal version of ClearType, it uses knowledge about the physical properties of LCD screens in order to carry out its work. Some time ago, I noted one catch with this model, which is that overdraw gives the ClearType algorithm the wrong background pixels. Another gotcha is that if you don't know what the background pixels are at all, then you can't use ClearType. For example, you might be rendering a semi-transparent bitmap that will be drawn on to...

The compiler can make up its own calling conventions, within limits

Global optimizations.

Tip for trying to boost morale: Don't brag about your overseas trips

Once upon a time, a senior manager held a team meeting to address low team morale. Attempting to highlight how important the project was, he opened by saying, "I just got back from 〈faraway country〉, meeting with some of our important clients, and..." This remark had exactly the opposite effect from what the manager intended. Instead of revitalizing the team, the team became even more despondent. "Here we are, working late and coming in on weekends, and this senior manager is telling us about his recent overseas junket." (After he left, I heard that he still pulled this stunt with his new team. "Over ...

Customizing item enumeration with IShellItem

Have it your way.

Helper functions to make shell bind contexts slightly more manageable

Setting the options.

The wonderful world of shell bind context strings

A generic options parameter.