Showing tag results for Code

Oct 8, 2010
Post comments count0
Post likes count1

Why does my asynchronous I/O request return TRUE instead of failing with ERROR_IO_PENDING?

Raymond Chen
Raymond Chen

A customer reported that their program was not respecting the flag consistently: My program opens a file handle in mode, binds it to an I/O completion callback function with , and then issues a against it. I would expect that the returns and returns , indicating that the I/O operation is being performed asynchronously, and that the completio...

Code
Oct 7, 2010
Post comments count0
Post likes count1

Why does TaskDialog return immediately without showing a dialog?

Raymond Chen
Raymond Chen

A customer reported a problem with the function. We've encountered a strange behavior in the function. A user reported that when exiting our application, our program played an error beep that didn't appear to be associated with an error. After investigating, we found that the sound is coming from our application trying to display an error dialo...

Code
Oct 1, 2010
Post comments count0
Post likes count1

Non-psychic debugging: Why you're leaking timers

Raymond Chen
Raymond Chen

I was not involved in this debugging puzzle, but I was informed of its conclusions, and I think it illustrates both the process of debugging as well as uncovering a common type of defect. I've written it up in the style of a post-mortem. A user reported that if they press and hold the F2 key for about a minute, our program eventually stops work...

Code
Sep 30, 2010
Post comments count0
Post likes count1

Why doesn't the TAB key work on controls I've marked as WS_TABSTOP?

Raymond Chen
Raymond Chen

A customer had a programming problem regarding tab stops: I create a parent window (child of main frame) as below This window hosts 2 toolbar windows. Each toolbar window has the style set using . MSDN states WS_EX_CONTROLPARENT Allows the user to navigate among the child windows of the window by using the TAB key. But I am not able ...

Code
Sep 24, 2010
Post comments count0
Post likes count1

How reliable is the BatteryLifePercent member of the SYSTEM_POWER_STATUS structure?

Raymond Chen
Raymond Chen

A customer was writing a program that called and used the value. The customer wanted to know whether a reported battery life percentage of 38% really means that the remaining battery life is between 37.5% and 38.5%. Although the value is reported to 1% precision, the accuracy in practice is much worse. Similarly, the is reported in seconds, bu...

Code
Sep 23, 2010
Post comments count0
Post likes count1

You must flush GDI operations when switching between direct access and GDI access, and direct access includes other parts of GDI

Raymond Chen
Raymond Chen

A customer was running into problems when accessing the pixels of a DIB section. They used the parameter to and created two bitmaps from the same underlying memory. Those two bitmaps were then selected into corresponding DCs, and the customer found that changes to the pixels performed by writing via one DC were not visible when read from the oth...

Code
Sep 20, 2010
Post comments count0
Post likes count1

How do I get the dropped height of a combo box?

Raymond Chen
Raymond Chen

Via the Suggestion Box, commenter Twisted Combo responds to an old blog entry on why the size of a combo box includes the height of the drop-down by asking, But how do I *get* the dropped down height?" By using the deviously-named message, which the header file wraps inside the macro. Start with the scratch program and make these changes:...

Code
Sep 17, 2010
Post comments count0
Post likes count1

What's up with the strange treatment of quotation marks and backslashes by CommandLineToArgvW

Raymond Chen
Raymond Chen

The way the function treats quotation marks and backslashes has raised eyebrows at times. Let's look at the problem space, and then see what algorithm would work. Here are some sample command lines and what you presumably want them to be parsed as: In the first example, we want quotation marks to protect spaces. In the second example, we want ...

Code
Sep 16, 2010
Post comments count0
Post likes count1

How is the CommandLineToArgvW function intended to be used?

Raymond Chen
Raymond Chen

The function does some basic command line parsing. A customer reported that it was producing strange results when you passed an empty string as the first parameter: Well, okay, yeah, but huh? The first parameter to is supposed to be the value returned by . That's the command line, and that's what was designed to parse. If you pass somethin...

Code