Acceder a una API COM desde Visual C++ 6.0

Guzman
22 de Abril del 2004
Quiero acceder a la API COM del programa XMLSpy.

Para ello he generado, mediante el OLE/COM ObjectViewer y a partir de la librería de tipos XMLSpy.tlb, el fichero XMLSpy.IDL, lo he insertado en el proyecto y lo he compilado.

Luego, al pulsar un botón en un diálogo del proyecto, intento crear una instacia del objeto COM con este código:
***************************************************************************

IApplication* pApplication=NULL;
HRESULT hr;
CLSID clsid;

hr= CoInitialize(NULL);
hr= CLSIDFromProgID(OLESTR("XMLSPY.Application"), &clsid);
hr= CoCreateInstance(clsid, NULL, CLSCTX_ALL,__uuidof(IApplication),(void**) &pApplication);

if (FAILED(hr))
{
AfxMessageBox("Server Creation Failed");
return;
}

CoUninitialize();
***************************************************************************

Sin embargo, aunque compila bien, al ejecutarlo me produce el error: "Server Creation Failed"

¿Estoy haciendo algo mal o me falta algo por hacer al incluir el objeto COM?

Estoy bastante frustrado con esto, si alguien me pudiese ayudar le estaría muy agradecido.

Saludos.