Partager via


Méthode ITransactionContextEx::CreateInstance (comsvcs.h)

Crée un objet COM qui peut s’exécuter dans l’étendue de la transaction initiée par l’objet de contexte de transaction.

Syntaxe

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

Paramètres

[in] rclsid

Référence au CLSID du type d’objet à instancier.

[in] riid

Référence à l’ID d’interface de l’interface via laquelle vous allez communiquer avec le nouvel objet.

[out] pObject

Référence à un nouvel objet du type spécifié par le paramètre rclsid , via l’interface spécifiée par le paramètre riid .

Valeur retournée

Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED et E_FAIL, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
REGDB_E_CLASSNOTREG
Le composant spécifié par rclsid n’est pas inscrit en tant que composant COM.

Remarques

Si Microsoft Distributed Transaction Coordinator n’est pas en cours d’exécution et que l’objet est transactionnel, l’objet est créé avec succès. Toutefois, les appels de méthode à cet objet échouent avec CONTEXT_E_TMNOTAVAILABLE. Les objets ne peuvent pas récupérer à partir de cette condition et doivent être libérés.

Exemples

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);


Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête comsvcs.h

Voir aussi

ITransactionContextEx