Showing tag results for Code

Aug 11, 2011
Post comments count0
Post likes count1

The ways people mess up IUnknown::QueryInterface, episode 4

Raymond Chen

One of the rules for is so obvious that nobody even bothers to state it explicitly as a rule: "If somebody asks you for an interface, and you return , then the pointer you return must point to the interface the caller requested." (This feels like the software version of dumb warning labels.) During compatibility testing for Windows Vista,...

Code
Aug 8, 2011
Post comments count0
Post likes count1

What does the CreateProcess function do if there is no space between the program name and the arguments?

Raymond Chen

In an old discussion of why the function modifies its command line, commenter Random832 asked, "What if there is no space between the program name and arguments - like "cmd/?" - where does it put the null then?" The function requires a space between the program name and arguments. If you leave out the space, then the arguments are considered ...

Code
Aug 5, 2011
Post comments count0
Post likes count1

Menu item states are not reliable until they are shown because they aren't needed until then

Raymond Chen

A question arrived from a customer (with the rather unhelpful subject line Question for Microsoft) wondering why, when they call and then ask for the states of the various menu items like , the menu item states don't reflect reality. The menu item states don't synchronize with reality until the user actually opens the system menu. There is no req...

CodeHistory
Aug 4, 2011
Post comments count0
Post likes count1

Why doesn't b match word boundaries correctly?

Raymond Chen

A colleague of mine was having trouble getting the metacharacter in a regular expression to work. Of course, when somebody asks a question like that, you first have to establish what their definition of "work" is. Fortunately, he provided some examples: "The last two entries are just sanity checks to make sure I didn't make some stupid mistake l...

Code
Aug 3, 2011
Post comments count0
Post likes count1

A shell extension is a guest in someone else's house; don't go changing the code page

Raymond Chen

A customer reported a problem with their shell extension: We want to format a floating point number according to the user's default locale. We do this by calling to convert the value from floating point to text with a period (U+002E) as the decimal separator, then using to apply the user's preferred grouping character, decimal separator, etc. W...

Code
Jul 28, 2011
Post comments count0
Post likes count1

Simulating input via WM_CHAR messages may fake out the recipient but it won't fake out the input system

Raymond Chen

We saw some time ago that you can't simulate keyboard input with . You may get away with it, depending on how the application you're trying to fake out processes input, but since you're just faking data, the application may discover that it's all a ruse when they try to access information that you didn't fake out, say by calling and discovering t...

Code
Jul 27, 2011
Post comments count0
Post likes count1

You don't need to ask me a question the compiler can answer more accurately

Raymond Chen

A customer reported having problems developing the correct p/invoke signature for the structure. "The code works on 32-bit machines, but on 64-bit machines, the call to returns ." The sample code included the lines My response was simply, "I bet you are passing the wrong structure size. Note that on 64-bit Windows, the alignment of the inne...

Code
Jul 22, 2011
Post comments count0
Post likes count1

How do I disable windowless control support in dialog boxes?

Raymond Chen

A customer wanted to know how to disable windowless control support in dialog boxes. "The customer has a CommandButton ActiveX control on his dialog box, and using to get the window handle of the command button succeeded with VC 6.0, but when compiled with VC 9.0, it does not create a window. I'm guessing that this is caused by 's suppor...

Code
Jul 20, 2011
Post comments count0
Post likes count1

How do I find the original name of a hard link?

Raymond Chen

A customer asked, "Given a hardlink name, is it possible to get the original file name used to create it in the first place?" Recall that hard links create an alternate name for a file. Once that alternate name is created, there is no way to tell which is the original name and which is the new name. The new file does not have a "link back to the...

Code