Detecting over-Releasing on COM objects

I am in Refcount Hell right now, trying to fix a new chunk of our codebase for COM refcounting issues. Debugging missing AddRefs consumes most of my time, and I might write about that one day, but yesterday I managed to over-Release an object and of course I crashed. Finding over-Releases is trivial by comparison:…

2

Why Do We Always Change Notepad?

Notepad is a given. Its on every Windows machine, going back to Win16. When you need to edit something in a hurry, on any machine, then it is the obvious tool of choice. And yet with every Windows release, someone decides to change it. Not in a big way, but for changes sake. To keep…

12

Authoring iHD apps for HD DVD

My team has just created a new forum for programmers and content creators who wish to make great HD DVD apps using iHD. Look for some interesting downloads there soon.

2

Correction to DLGITEMTEMPLATEEX Structure

This wasted several hours for me this morning. The MSDN docs for DLGITEMTEMPLATEEX are wrong: there is an extra WORD member after the id member, call it reserved. Note that this struct is not in any windows header: you are expected to cut & paste it into your code. (Always a good idea…) I am…

3

Autoexp.dat not working in Visual Studio 2005?

As this was reported twice in the space of a week internally, I figured that external users may be hitting this too. The internal emails were along the lines of  “I added my custom types to autoexp.dat and they don’t work”. In both cases this was because they were added at the end of the…

11

Displaying DirectX Errors in the Debugger

Debugging DirectX calls that fail is a pain as the debugger cannot show the “nice” HRESULT codes as it does for COM errors (such as E_NOTIMPL). However you can tell the debugger about the custom error codes and add them to the [hresult] section of autoexp.dat. I went through the pain of hand calculating the…


Property Grids Suck

I couldn’t put it better myself than Avery does in his VirtualBlog – Property Grids Suck. Not only do they suck, but the use of the word Properties in what feels like half the common menu items in VS 2005 gets to me even more. There’s even a great feature in the C++ project system that…


A Better Way to Search MSDN

I have previously ranted about the Search capabilities of MSDN, so I decided to try and do something about it. I have created a Smart Search for MSDN page, which modifies a search engine query to greatly improve the hit rate. Well, at least it works for me: I tried all of the bad examples from…

12

What does "pdb is obsolete" really mean?

If your Visual Studio debugger says this to you, it either means Your PDB really is obsolete Your debugger is obsolete 1. It gets expensive in terms of testing and (sometimes) development to read every single old PDB format, so with each release the C++ team determine what is the oldest PDB they can read…

18

What am I working on? iHD, that’s what

So what have I been working on that I haven’t been able to blog about? iHD, that’s what! Its the interactivity layer for the next generation DVD format, and I’m really excited by HD-DVD, with its greatly improved picture quality, capacity, and of course interactivity. Now that Microsoft has officially announced our position, I can…

3