Frage

Both:

  • CLSID
  • IID

Nachdem die oben angegeben, und mit:

  • CoCreateInstance ()

Um ein einzelnes uninitialised Objekt der Klasse Rückkehr oben durch die CLSID angegeben.

Wie kann ich dann eine Interface-Methode von C ++ zugreifen? Ohne:

  • ATL
  • MFC
  • Just plain C ++

Danach benutze ich CreateInstance ()

Ich habe Probleme, mit CreateInstance () - mit dem letzten Parameter - ppv

OLEVIEW verwendet, kann ich Methoden des angegebenen IIDabove IID siehe oben, wie zum Beispiel:

interface IS8Simulation : IDispatch {
    HRESULT Open([in] BSTR FileName);
};

Wie kann ich dann die oben? Beispiele / Anleitung - bitte

Viele Grüße

War es hilfreich?

Lösung

Durch einen CoCreateInstance tun Sie erhalten einen Schnittstellenzeiger. Durch Query-Interface (...) -Methode können Sie bequem den Interface-Zeiger einer anderen Schnittstelle zu bekommen. z.B.,


IUnknown* pUnk = NULL;
HRESULT hr = ::CoCreateInstance(clsid,NULL,CLSCTX_ALL,__uuidof(IUnknown),(void**)&pUnk);

IS8Simulation* pSim = NULL; hr = pUnk->QueryInterface(__uuidof(IS8Simulation), (void**)&pSim);

Sie dieses Bild Nach tun, werden Sie den Zeiger auf IS8Simulation in PSIM bekommen und dass durch Sie Methoden dieser Schnittstelle aufrufen können. Denken Sie daran, Sie benötigen eine gültige clsid im Aufruf von CoCreateInstance zu liefern.

Andere Tipps

Es ist ein wenig vage, was das eigentliche Problem ist. Einige Code wäre hilfreich. Aber eine Vermutung zu nehmen, tun Sie Queryinterface brauchen?

 IS8Simulation* pSim = NULL;
 hr = pUnk->QueryInterface(__uuidof(IS8Simulation), (void)&pSim);

Ich werde die oben versuchen, waren aber ist IS8Simulation erklärt - bitte meinen Mangel an COM excuss verstehen

Darüber hinaus, wie das Verfahren zu nennen, unter Verwendung von Ebene C ++ :

HRESULT Open([in] BSTR FileName)

Sie wollen wahrscheinlich #import "something.dll". Dadurch erhalten Sie Erklärungen für Typen wie IS8Simulation C ++, ähnlich wie # include „something.h“ tun würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top