Cluebat-man to the rescue

A weblog dedicated to Visual C++, interoperability and other stuff.

Browse by Tags

All Tags » cplusplus » ATL (RSS)
Practical ATL: Solving the race condition in CAtlExeModuleT
When I was spelunking through the ATL header for my previous articles (the class object plumbing) I discovered that there is a serious race condition in the server lifetime management. I contacted the Microsoft C++ folks, and someone from the libraries...
Practial ATL: Implementing a non-standard class object
In my previous article in this series, I explained how class objects are associated with COM objects, and how it all fits together. Armed with that knowledge, I can now demonstrate how to provide a custom class object that will allow us to support parameterized...
Practical ATL: Understanding the class object
In my previous article in this series, I explained how to create a simple COM server and implement a method that returns an enumerator object. It was all done very easily, but the ATL wizards hide some of the things that you really ought to know for my...
Practical ATL: recognizing marshalling problems
Before I publish my next article, I should explain something else about the black magic aspect of ATL / COM: Marshalling. The Stuff server we made in the previous article is an out-of-proc server. This means that the arguments being passed to / from a...
Practical ATL: Implementing an enumerator object
This is my first article about practical ATL examples, which I already mentioned here. In this example I will create an ATL Server which implements 1 custom interface: IStuff. Hardly an inspiring name, but I couldn’t think of anything better before...
Getting started with ATL
I am currently working on some projects where I have to program a DCOM server. There are several reasons why it has to be DCOM and C++, instead of e.g. .NET remoting and C#. The biggest pain (imo) about DCOM is that the technology stems from an era when...