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 |
---|---|
|
La commande s'est correctement terminée. |
|
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 |