Showing tag results for Code

Nov 5, 2014
Post comments count0
Post likes count1

Passing the incorrect object type for a handle, how bad is it?

Raymond Chen
Raymond Chen

A customer asked a somewhat strange question: "We are calling but passing the handle to a waitable timer. Application Verifier reports, "Incorrect object type for handle." But the code works well. We want to know the risks of passing the wrong object type to . Is the recommendation only to pass handles of type "Event" to ? Let's answer those ques...

Code
Nov 3, 2014
Post comments count0
Post likes count2

Applying a filter to the contents of an Explorer Browser

Raymond Chen
Raymond Chen

Today's Little Program hosts an Explorer Browser but filters the contents to remove DLL files. You can, of course, substitute your own filter. (For example, maybe you want to show only files that changed since the last time the user ran your program, or you might want a view of My Computer but filtered to show only removable drives.) Remember th...

Code
Oct 31, 2014
Post comments count0
Post likes count1

The case of the file that won't copy because of an Invalid Handle error message

Raymond Chen
Raymond Chen

A customer reported that they had a file that was "haunted" on their machine: Explorer was unable to copy the file. If you did a copy/paste, the copy dialog displayed an error. Okay, time to roll up your sleeves and get to work. This investigation took several hours, but you'll be able to read it in ten minutes because I'm deleting all t...

Code
Oct 29, 2014
Post comments count0
Post likes count1

The contents of the Start page are not programmatically accessible

Raymond Chen
Raymond Chen

A customer wanted to know if is possible for an application to edit the user's Start page. No, there is no interface for editing the user's Start page or even knowing what is on it. The Start page is the user's personal space and applications should not be messing with it. Imagine if it were possible. Every application would edit the Start page t...

Code
Oct 28, 2014
Post comments count0
Post likes count1

A question about preventing the system from going to the idle state turns out to be misguided

Raymond Chen
Raymond Chen

A customer asked how they could have their program prevent the system from going to the idle state. Specifically, when the system goes idle, the application gets into a weird state where it starts leaking memory like crazy. The program normally uses around 100MB of memory, but when the system goes idle, something funky happens and the program's mem...

Code
Oct 27, 2014
Post comments count0
Post likes count1

Enumerating the ways of distributing n balls into k boxes

Raymond Chen
Raymond Chen

Suppose you had n indistinguishable balls and k distinguishable boxes. Enumerate the ways of distributing the balls into boxes. Some boxes may be empty. We can represent each distribution in the form of n stars and k − 1 vertical lines. The stars represent balls, and the vertical lines divide the balls into boxes. For example, here are the...

Code
Oct 24, 2014
Post comments count0
Post likes count3

Debugging a hang: Chasing the wait chain inside a process

Raymond Chen
Raymond Chen

Today we're going to debug a hang. Here are some of the (redacted) stacks of the process. I left some red herrings and other frustrations. Since debugging is an exercise in optimism, let's ignore the stacks that didn't come out properly. If we can't make any headway, we can try to fix them, but let's be hopeful that the stacks that are good wil...

Code
Oct 23, 2014
Post comments count0
Post likes count1

How can I detect programmatically whether the /3GB switch is enabled?

Raymond Chen
Raymond Chen

A customer was doing some diagnostic work and wanted a way to detect whether the switch was enabled. (Remember that the switch is meaningful only for 32-bit versions of Windows.) The way to detect the setting is to call and look at the . Compile this as a 32-bit program and run it. On 32-bit systems, this reports the system-wide setting...

Code
Oct 22, 2014
Post comments count0
Post likes count1

How do I disable Windows 8 touch contact visualizations for my application?

Raymond Chen
Raymond Chen

You might have an application (like a game) where the default touch contact visualizations are a distraction. In WinRT, you can disable the contact visualizations by simply saying In Win32, you use the function. To demonstrate that, let's take our scratch program and make this simple change: The touch visualizations are white and the defau...

Code
Oct 21, 2014
Post comments count0
Post likes count1

The great thing about regular expression languages is that there are so many to choose from!

Raymond Chen
Raymond Chen

Before you ask a question about regular expressions, you should make sure you and your audience agree on which regular expression language you are talking about. Here is a handy table of which features are supported by which regular expression language. You can use that table to solve this customer's problem: I have a regular expression th...

Code