ObjectContext::SetAbort メソッド (comsvcs.h)

オブジェクトが実行されているトランザクションを中止する必要があり、戻り時にオブジェクトを非アクティブ化する必要があることを宣言します。

構文

HRESULT SetAbort();

戻り値

このメソッドは、標準の戻り値E_INVALIDARG、E_OUTOFMEMORY、E_FAIL、および次の値を返すことができます。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
E_UNEXPECTED
予期しないエラーが発生しました。 これは、あるオブジェクトが ObjectContext ポインターを別のオブジェクトに渡し、もう一方のオブジェクトがこのポインターを使用して SetAbort を呼び出した場合に発生する可能性があります。 ObjectContext ポインターは、最初に取得したオブジェクトのコンテキストの外部では有効ではありません。

注釈

オブジェクトは、 SetAbort を呼び出したメソッドから戻ると自動的に非アクティブ化されます。 オブジェクトが自動トランザクションのルートである場合、COM+ はトランザクションを中止します。 オブジェクトがトランザクションであり、自動トランザクションのルートではない場合、オブジェクトが参加しているトランザクションは中止される可能性があります。

エラーハンドラーで SetAbort を呼び出して、エラーが発生したときにトランザクションが中止されるようにすることができます。 また、メソッドの先頭で SetAbort を呼び出して、予期しない戻りが発生した場合にオブジェクトが途中でコミットされるのを防ぎ、すべてが正常に終了した場合は、メソッドが戻る直前に SetComplete を呼び出すこともできます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー comsvcs.h

こちらもご覧ください

Objectcontext