Showing tag results for History

May 9, 2014
Post comments count0
Post likes count1

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

Raymond Chen

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

History
May 6, 2014
Post comments count0
Post likes count1

Letting the boss think your project is classier than it really is

Raymond Chen

Once upon a time, there was a team developing two versions of a product, the first a short-term project to ship soon, and the other a more ambitious project to ship later. (Sound familiar?) They chose to assign the projects code names Ren and Stimpy, in honor of the lead characters from the eponymous cartoon series. Over time, the two projects me...

History
Apr 29, 2014
Post comments count0
Post likes count2

Why does the common file save dialog create a temporary file and then delete it?

Raymond Chen

When you call , the common file save dialog will ask the user to choose a file name, and just before it returns it does a little create/delete dance where it creates the file the user entered, and then deletes it. What's up with that? This is a leftover from the ancient days of 16-bit Windows 3.1, back when file systems were real file systems...

History
Apr 8, 2014
Post comments count0
Post likes count2

Why is Rundll32 called Rundll32 and not just Rundll?

Raymond Chen

There is an oft-abused program named . Why does its name end in ? Why not just call it ? (I will for the moment ignore the rude behavior of calling people stupid under the guise of asking a question.) Because there needed to be a way to distinguish the 16-bit version from the 32-bit version. Windows 95 had both (the 16-bit version) and (...

History
Jan 3, 2014
Post comments count0
Post likes count1

What happened in real-mode Windows when somebody did a longjmp into a discardable segment?

Raymond Chen

During the discussion of how real-mode Windows handled return addresses into discarded segments, Gabe wondered, "What happens when somebody does a into a discardable segment?" I'm going to assume that everybody knows how traditionally works so I can go straight to the analysis. The reason is tricky is that it has to jump to a return address...

History
Dec 31, 2013
Post comments count0
Post likes count1

New Year's Eve is sometimes a stressful occasion

Raymond Chen

Today is New Year's Eve, another opportunity for to mark that an approximately-integral number of revolutions of the earth have occurred since some point in time that wasn't even calculated correctly in the first place. (We retain it for backward compatibility.) December 31, 1999 was a particularly anxious day in the technology sector. Microsoft's...

History
Nov 19, 2013
Post comments count0
Post likes count2

Why is the Program Files directory called Program Files instead of just Programs?

Raymond Chen

Some people suggest that one thing Microsoft Research could do with that time machine they're working on is to go back in time and change the name of the Program Files directory to simply Programs. No, it really should be Program Files. Program Files are not the same as Programs. Programs are things like Calc, Notepad, Excel, Photoshop. They ar...

History
Oct 8, 2013
Post comments count0
Post likes count1

I wrote FAT on an airplane, for heaven’s sake

Raymond Chen

When you wrote code for 16-bit Windows, one of the things you spent time doing as part of performance tuning was deciding which functions should be grouped together in which segments. Code in 16-bit Windows executed out of code segments, each of which could be up to 64KB in size. When a code segment was loaded from disk, the entire segment was loa...

History
Oct 1, 2013
Post comments count0
Post likes count1

The management of memory for resources in 16-bit Windows, redux

Raymond Chen

Some time ago, I briefly ran down how 16-bit Windows managed memory for resources. But there's a detail that I neglected to mention: Ownership. As we saw, a resource handle was really a pointer to the resource directory entry of the resource from the corresponding module. This could be done with a 16-bit pointer because the segment portion of th...

History