Freigeben über


ITransactionContextEx::CreateInstance-Methode (comsvcs.h)

Erstellt ein COM-Objekt, das innerhalb des Bereichs der Transaktion ausgeführt werden kann, die vom Transaktionskontextobjekt initiiert wurde.

Syntax

HRESULT CreateInstance(
  [in]  REFCLSID rclsid,
  [in]  REFIID   riid,
  [out] void     **pObject
);

Parameter

[in] rclsid

Ein Verweis auf die CLSID des Typs des zu instanziierenden Objekts.

[in] riid

Ein Verweis auf die Schnittstellen-ID der Schnittstelle, über die Sie mit dem neuen Objekt kommunizieren.

[out] pObject

Ein Verweis auf ein neues Objekt des typs, der vom rclsid-Parameter über die durch den riid-Parameter angegebene Schnittstelle angegeben wird.

Rückgabewert

Diese Methode kann die Standardrückgabewerte E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED und E_FAIL sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
REGDB_E_CLASSNOTREG
Die von rclsid angegebene Komponente wird nicht als COM-Komponente registriert.

Hinweise

Wenn der Microsoft Distributed Transaction Coordinator nicht ausgeführt wird und das Objekt transaktional ist, wird das Objekt erfolgreich erstellt. Methodenaufrufe für dieses Objekt schlagen jedoch mit CONTEXT_E_TMNOTAVAILABLE fehl. Objekte können von dieser Bedingung nicht wiederhergestellt werden und sollten freigegeben werden.

Beispiele

ITransactionContextEx* pTransactionContext = NULL;
IMyObject* pMyObject = NULL;
HRESULT hr;

// Get TransactionContextEx.
hr = CoCreateInstance(CLSID_TransactionContextEx, 
  NULL, CLSCTX_INPROC, IID_ITransactionContextEx, 
  (void**)&pTransactionContext);
if (FAILED(hr)) throw(hr);

// Create an instance of MyObject.
hr = pTransactionContext->CreateInstance(CLSID_CMyObject, 
  IID_IMyObject, (void**)&pMyObject);
if (FAILED(hr)) throw(hr);


Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile comsvcs.h

Weitere Informationen

ITransactionContextEx