Showing tag results for Code

Feb 17, 2011
Post comments count0
Post likes count1

What is the highest numerical resource ID permitted by Win32?

Raymond Chen
Raymond Chen

A customer asked the following question: What is the maximum legal value of a resource identifier? Functions like take a as the resource ID, which suggests a full 32-bit range, but in practice, most resource IDs appear to be in the 16-bit range. Is there any particular history/precedent for avoiding large numbers as resource IDs? (I have a progr...

Code
Feb 15, 2011
Post comments count0
Post likes count1

Window message parameters do not come with metaphysical certitude

Raymond Chen
Raymond Chen

The MSDN documentation for window messages describes what each of the parameters means, but just because it means something doesn't mean that it is that something; it merely means it. But you knew this already. If you have a window handle, you can send it whatever message you like, with whatever parameters you like, even if those parameters contra...

Code
Feb 11, 2011
Post comments count0
Post likes count1

How do specify that a shortcut should not be promoted as newly-installed on the Start menu?

Raymond Chen
Raymond Chen

Windows XP employed a number of heuristics to determine which Start menu shortcuts should be promoted when an application is newly-installed. But what if those heuristics end up guessing wrong? You can set the property to to tell the Start menu, "I am not the primary entry point for the program; I'm a secondary shortcut, like a help file." ...

Code
Feb 9, 2011
Post comments count0
Post likes count1

Why does SHGetKnownFolderPath return E_FAIL for a known folder?

Raymond Chen
Raymond Chen

A customer reported having problems with the function. I've left in the red herrings. On Windows 7, I'm trying to retrieve the Internet folder with the following code: The call always fails with . What am I doing wrong? I tried passing as the token, but that didn't help. The reason the call fails has nothing to do with Windows ...

Code
Feb 7, 2011
Post comments count0
Post likes count1

The cursor isn't associated with a window or a window class; it's associated with a thread group

Raymond Chen
Raymond Chen

In my earlier discussion of the fact that changing a class property affects all windows of that class, commenters LittleHelper and Norman Diamond wanted to know "Why is the cursor associated with class and not a window?" This is another one of those questions that start off with an invalid assumption. The cursor is not associated with a class. ...

Code
Feb 4, 2011
Post comments count0
Post likes count1

Ready… cancel… wait for it! (part 3)

Raymond Chen
Raymond Chen

A customer reported that their application was crashing in RPC, and they submitted a sample program which illustrated the same crash as their program. Their sample program was actually based on the AsyncRPC sample client program, which was nice, because it provided a mutually-known starting point. They made quite a few changes to the program, but ...

Code
Feb 3, 2011
Post comments count0
Post likes count1

Ready… cancel… wait for it! (part 2)

Raymond Chen
Raymond Chen

A customer had a question about I/O cancellation. They have a pending call with a completion procedure. They then cancel the I/O with and wait for the completion by passing as the parameter to . Assuming both return success, can I assume that my completion procedure will not be called after GetOverlappedResult returns? It appears that GetOverl...

Code
Feb 2, 2011
Post comments count0
Post likes count1

Ready… cancel… wait for it! (part 1)

Raymond Chen
Raymond Chen

One of the cardinal rules of the structure is the structure must remain valid until the I/O completes. The reason is that the structure is manipulated by address rather than by value. The word complete here has a specific technical meaning. It doesn't mean "must remain valid until you are no longer interested in the result of the I/O." It me...

Code
Jan 27, 2011
Post comments count0
Post likes count1

How do you obtain the icon for a shortcut without the shortcut overlay?

Raymond Chen
Raymond Chen

The easy one-stop-shopping way to get the icon for a file is to use the function with the flag. One quirk of the function is that if you pass the path to a shortcut file, it will always place the shortcut overlay on the icon, regardless of whether you passed the flag. (Exercise: What is so special about the shortcut overlay that makes it exemp...

Code