| Platform SDK: Transaction Server |
ITransactionContextEx::Abort, ITransactionContextEx::Commit Methods Example
[This product will work only on Windows NT 4.0 versions and earlier. For Windows 2000 and later, see COM+ (Component Services).]
#include <Txctx.h>
ITransactionContextEx* pTransactionContext = NULL;
IMyObject* pMyObject = NULL;
boolean bUserCanceled = FALSE;
HRESULT hr;
// Get TransactionContextEx.
hr = CoCreateInstance(CLSID_ITransactionContextEx,
NULL, CLSCTX_INPROC, IID_ITransactionContextEx,
(void**) &pTransactionContext);
// Create an instance of MyObject.
hr = pTransactionContext->CreateInstance
(CLSID_CMyObject, IID_IMyObject,
(void**) &pMyObject);
// Do some work here.
// If something goes wrong, abort the transaction.
if (bUserCanceled)
pTransactionContext->Abort();
// Otherwise, commit it.
else
pTransactionContext->Commit();