Metodo ITransactionContextEx::CreateInstance (comsvcs.h)
Crea un oggetto COM che può essere eseguito nell'ambito della transazione avviata dall'oggetto contesto della transazione.
Sintassi
HRESULT CreateInstance(
[in] REFCLSID rclsid,
[in] REFIID riid,
[out] void **pObject
);
Parametri
[in] rclsid
Riferimento al CLSID del tipo di oggetto da creare un'istanza.
[in] riid
Riferimento all'ID interfaccia dell'interfaccia tramite cui si comunica con il nuovo oggetto.
[out] pObject
Riferimento a un nuovo oggetto del tipo specificato dal parametro rclsid , tramite l'interfaccia specificata dal parametro riid .
Valore restituito
Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED e E_FAIL, nonché i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Metodo completato correttamente. |
|
Il componente specificato da rclsid non è registrato come componente COM. |
Commenti
Se Microsoft Distributed Transaction Coordinator non è in esecuzione e l'oggetto è transazionale, l'oggetto viene creato correttamente. Tuttavia, le chiamate al metodo a tale oggetto avranno esito negativo con CONTEXT_E_TMNOTAVAILABLE. Gli oggetti non possono essere ripristinati da questa condizione e devono essere rilasciati.
Esempio
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);
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | comsvcs.h |