Welcome to MSDN Blogs Sign in | Join | Help

January 2006 - Posts

Btw, the entire blogs.msdn.com site had an upgrade to a newer version of Community Server last night, as a consequence, some things are somewhat confused right now. In general, the transition has been pretty seamless, but there are some quirks (like the Read More...
Yesterday's post discussed a hypothetical API to retrieve data from the registry. The security hole in the original code is that if the value in the registry is exactly 512 bytes long, the buffer isn't null terminated. That means that the caller, who Read More...
Time for another "What's wrong with this code". This time, it's an exercise in how a fix for a potential security problem has the potential to go horribly wrong. This is a multi-part bug, so we'll start with the original code. We start the exercise with Read More...
Or rather, a peek behind system sounds. Windows 3.1 (I think - it might have been Win95) introduced the concept of "application events" to Windows (I prefer to call them system sounds). But how do these events actually work? It turns out that documentation Read More...
Lately I've felt like Sisyphus. It's a natural part of the process of software engineering, but it doesn't change the feeling. In every software project, after all the new code's been written, focus shifts to resolving and removing the bug backlog. Of Read More...
Raymond's post today on splay trees (brief summary: splay trees are interesting, but when you do an in-order traversal, they degrade to a linked list) reminded me of some "fun" I had with the NT 3.1 browser. The browser service is mostly dead these days, Read More...
Nineteen years ago today, on a crisp Saturday morning in Scarsdale, NY, Valorie Lynne Holden and Lawrence William Osterman were married. I find it astonishing when I realize that it has been nineteen years that we've been married, in all honesty, it doesn't Read More...
Ok, this is a bit of a rant. I recently encountered an email exchange from someone I respect where the person in question asked (more-or-less) "I can't, for the life of me, see why on earth this particular piece of functionality exists in Windows". Now Read More...
Every once in a while, you discover a new Win32 API that you've never heard of. The other day, one of the guys in my group sent an email extolling the values of a new WIn32 API that was added for Windows Professional X64 edition and Windows Server 2003 Read More...
So I'm finally done with the "COM activation" posts. One question that was asked during the series was (paraphrased) "Why on earth are you doing this". The simple answer is: The registry keys used for COM are a great example of Cargo cult programming Read More...
We're almost done with this series (phew). Up until now, everything I've talked about w.r.t. COM registration has been required for one scenario or another. However, there's one other common aspect of COM registration that is a wonderful convenience (although Read More...
The problem with the previous examples I posted on minimal COM object registration is that they don't always work. As I mentioned, if you follow the rules specified, while your COM object will work just fine from Win32 applications, you'll have problems Read More...
Yesterday I posted a minimal COM registration. But it had some serious issues. Among them the COM objects couldn't be used cross process, and they couldn't be used from a STA application unless the object aggregated the free threaded marshaller. So what Read More...
Yesterday I mentioned the APPID registry key. I also mentioned the effort going on within Microsoft to reduce redundant COM related registry keys. We use about a dozen COM objects internally within the audio subsystem of Vista, and after talking to the Read More...
As I mentioned, my mom, Daniel and I went to see "Dirty Rotten Scoundrels" on B'way the other day. A great show, Daniel's first time in a real Broadway theater. I do have to say that his jaw was slack during some of the jokes - it's a very earthy show. Read More...
I recently received this question from a reader: When Does ATL component need to register a AppId for it to work( Our component is an IE plug-on)? There is a macro:DECLARE_REGISTRY_APPID_RESOURCEID. It will triger three registry entries for AppId by the Read More...
I'm back! It was a restful, but uneventful holiday vacation, it was great seeing everyone in the family again, and christmas wasn't that bad (we opened presents in 4 separate rounds with different groups of friends). I got the Deathstar that was my "big" Read More...
 
Page view tracker