CoCreateInstance laesst Programm abstürzen
-
Hallo,
in meine Programm verschaffe ich mir mit Hilfe von OleInitialize(NULL) zugriff auf die COM Objekte.
Ich erhalte S_OK als Rückgabewert.Versuche ich danach jetzt mit CoCreateInstance() ein Object zu erzeugen beendet sich mein Programm.
[cpp] bool Signaturpad::getInterface() { //CF449225-A5C6-4E11-A5DE-9C1A3B146AF1 CLSID CLSID_IPadTopaz = {0xCF449225, 0xA5C6, 0x4E11, 0xA5, 0xDE, 0x9C, 0x1A, 0x3B, 0x14, 0x6A, 0xF1}; //26CBB48B-3BA4-4C64-AF8A-38432A35AFFB IID IID_Pad = {0x26CBB48B, 0x3BA4, 0x4C64, 0xAF, 0x8A, 0x38, 0x43, 0x2A, 0x35, 0xAF, 0xFB}; HRESULT result; result = OleInitialize(NULL); switch(result) { case E_INVALIDARG: cout << "E_INVALIDARG" << endl; break; case E_OUTOFMEMORY: cout << "E_OUTOFMEMORY" << endl; break; case E_UNEXPECTED: cout << "E_UNEXPECTED" << endl; break; case S_OK : cout << "S_OK " << endl; break; case S_FALSE : cout << "S_FALSE " << endl; break; case OLE_E_WRONGCOMPOBJ : cout << "OLE_E_WRONGCOMPOBJ " << endl; break; case RPC_E_CHANGED_MODE : cout << "RPC_E_CHANGED_MODE " << endl; break; } system("PAUSE"); result = CoCreateInstance(CLSID_IPadTopaz, NULL, CLSCTX_INPROC_SERVER, IID_Pad, (void **)this->pad); switch(result) { case REGDB_E_CLASSNOTREG: cout << "REGDB_E_CLASSNOTREG" << endl; break; case E_OUTOFMEMORY: cout << "CLASS_E_NOAGGREGATION " << endl; break; case E_NOINTERFACE : cout << "E_NOINTERFACE " << endl; break; case S_OK : cout << "S_OK " << endl; break; } return true; } [/cpp]habe ich etwas falsch verstanden oder nicht beachtet?
mfg dave.
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
da hat sich doch wieder mal das verfluchte weggelassene & eingeschlichen

Es läuft jetzt - der Thread kann also geschlossen werden.