次の方法で共有


IObjectContext::SetComplete メソッド (comsvcs.h)

オブジェクトが実行されているトランザクションをコミットできること、およびオブジェクトが現在実行中のメソッド呼び出しから戻ったときに非アクティブ化する必要があることを宣言します。

構文

HRESULT SetComplete();

戻り値

このメソッドは、次の値を返すことができます。

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

注釈

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

オブジェクトがメソッド呼び出しから戻った後も状態を維持する必要がない場合は、 SetComplete を呼び出して、返されるとすぐに自動的に非アクティブ化し、リソースを再利用できるようにする必要があります。

要件

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

こちらもご覧ください

IObjectContext