The Old New Thing

The code names for various subprojects within Windows 95

Most people know that Windows 95 was code-named Chicago. The subprojects of Windows 95 also had their code names, in part because code names are cool, and in part because these projects were already under way by the time somebody decided to combine them into one giant project. Even when they were separate projects, the first three ...

Creating a simple shell item, just as fake as a simple pidl

Continuing from Creating a simple pidl: For the times you care enough to send the very fake: Instead of creating a simple pidl, we'll create a simple shell item. The idea is the same. We build a file system bind context containing the information about the fake file, and we pass that bind context to the SH­Create­Shell­Item ...
Comments are closed.0 0
Code

An extensible interlocked arithmetic function (via lambdas)

Some time ago, I noted that you can build other interlocked operations out of Interlocked­Compare­Exchange. Here's an example: (There's a corresponding C++ version, which I leave as an exercise.) This function atomically updates a "highest value seen so far" variable. It follows the usual pattern: Capture the starting value. ...
Comments are closed.0 0
Code

The mystery of the icon that never appears

A customer reported a problem showing an icon on their dialog box. We verified that this code does execute during the handling of the WM_INIT­DIALOG message. No assertion fires, yet no icon appears either. Our dialog template says The customer did some helpful preliminary troubleshooting: Verify that the code does indeed ...
Comments are closed.0 0
Code

How do I change among the three levels of play in Space Cadet Pinball?

Many many years ago, a customer presumably was taking advantage of the unlimited support part of their support contract when they asked In the documentation for Space Cadet Pinball, it says... The game is divided into three levels of play: basic, intermediate, and advanced. The objective of all levels is to achieve the highest point total...

Enumerating bit sequences with isolated zero-bits via the Fibonacci recurrence

Today's Little Program enumerates bit sequences of a particular length subject to the constraint that you cannot have consecutive 0-bits. This may sound kind of arbitrary, but it is important in magnetic media storage, because you cannot go too long without a flux reversal (traditionally represented by a 1); otherwise, the read head's clock ...
Comments are closed.0 0
Code

Even if you're the President, your mother still has the power to embarrass you

Last year, in honor of Mother's Day (the United States version), the John F. Kennedy Library shared a letter sent by President Kennedy to his mother. Mrs. Kennedy had contacted Premier Khrushchev asking for an autographed photo, copies of which were subsequently forwarded to the White House so that the President could sign them as well. ...

When was the WM_COPYDATA message introduced, and was it ported downlevel?

Gabe wondered when the WM_COPY­DATA message was introduced. The WM_COPY­DATA message was introduced by Win32. It did not exist in 16-bit Windows. But it was there all along. The The WM_COPY­DATA message was carefully designed so that it worked in 16-bit Windows automatically. In other words, you retained your source code ...