Any progress? I wouldn't offer either of these as a solution if I couldn't field any questions that may have come up. Don't get discouraged because it's using COM, COM is just C pretending to be C++ hence all of the indirection. Once you have everything wrapped in a proper C++ class a lot of the ugliness goes away. If you're confused about something please ask.