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

Supplementary reading on the subject of anonymous functions and other CLR topics

Welcome to CLR Week 2008. I'm going to mix it up and start with a link listing. Other CLR topics:

Raymond rewrites newspaper headlines

Original headline: Monorail out of service this week. Raymond's headline: Monorail out of service this week: 4 people inconvenienced.

If you return FALSE from DLL_PROCESS_ATTACH, will you get a DLL_PROCESS_DETACH?

If you return from , will you get a ? Yes. No. ... Yes. All three answers are correct, for different formulations of the question. From the kernel's point of view, the answer is a simple Yes. If a DLL's entry point returns to the notification, it will receive a notification. However, most C and C++ programs do not use the raw DLL entry point. Instead, they use the C runtime entry point, which will have a name something like . That entry point function does work to manage the C runtime library and calls your entry point (which you've probably called ) to see what you think. If you compil...

If the law says you can’t file a petition, you might need to file it anyway, in case somebody later says that you should’ve even though the law says you couldn’t

It sounds like a scene from the movie Brazil, but in fact it's the law. Let's rewind a bit. The introduction is a bit technical, but I'll try to keep it short. There is a legal filing known as a habeas petition and another known as a petition for review. There are rules regarding what each one covers and the deadlines for filing them. Prior to 2005, there was no deadline for habeas petitions, but you had to file your petition for review within 30 days of whatever it was the government did that you wanted to object to. In 2005, Congress passed (and the President signed) a law which recategorizes what the two...

For that, you’ll have to call security

Yahoo! is notorious for bad parking, but they're not the only ones. Microsoft has recurring parking problems as well, caused by office space shortages that force employees to be crammed into offices at double or even triple the intended density. Since parking lots are sized based on the expected number of cars, overstuffing a building with employees also results in an overstuffed parking lot. That's one of the reasons I ride my bicycle to work: There's always a place to park your bicycle.¹ Occasionally, however, I do drive, and then I find myself hunting for parking like everybody else. One day I thoug...

The caret serves as the continuation character for batch files

We saw earlier that the caret is the escape character for the batch language. In a comment to that article, KJK::Hyperion mentioned that the caret serves as the line continuation character. A useful tip if you still find yourself messing with batch files. Mark Yocum elaborates on this point a bit more.

What’s with this MSH_MOUSEWHEEL message?

The hardware folks had this mouse wheel thing they were making, and they needed a way to get applications to support the mouse. Now, one way of doing this was to say, "Well, we'll start selling this wheel mouse, but no applications can use it until the next version of Windows is released, one that supports the wheel." Of course, that would have meant waiting until Windows NT 4 came out, and who know when that would be. Plus it meant that people would have to upgrade Windows in order to take advantage of their fancy new mouse. As you can imagine, they weren't too pleased with the "wait a few years" plan...

AOL is moving closer to jettisoning dial-up, except for one person

When I read this story that AOL is ready to spin off their dial-up service, I wondered if they will remember to give the new dial-up number to the winner of that contest.

Microspeak: The long pole

The long pole is the part of the project that is on the critical path due to its length. For example, if you have a project that consists of three independent sub-projects, then the sub-project with the longest completion date is the long pole. The etymology of this term is simultaneously obvious yet hard to pin down. Intuitively, the long pole is the one that determines the height: If you have a tent supported by three poles, then the long pole decides how tall the tent is. If you have a collection of poles you want to put in the back of a pick-up truck, the long pole is the one that decides how big a bed you ...