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 |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
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 |