Winapi.Mtx.GetObjectContext
Delphi
function GetObjectContext: IObjectContext;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | Winapi.Mtx.pas | Winapi.Mtx | Winapi.Mtx |
説明
現在のスレッドの IObjectContext インターフェースを取り出します。
COM オブジェクトが MTS 環境または COM+ パッケージの一部(つまりトランザクションオブジェクト)として作成される場合は,対応するコンテキストオブジェクトも作成されます。このコンテキストオブジェクトは,1 回または複数回の再アクティブ化サイクルにわたって,そのトランザクションオブジェクトの存続期間が終わるまで存在します。オブジェクトのコンテキストは,非アクティブ化時にオブジェクトを監視します。GetObjectContext 関数を呼び出すと,現在のスレッドと関連付けられているコンテキストオブジェクトの IObjectContext インターフェースポインタを取得できます。
IObjectContext インターフェースポインタを受け取るポインタは,ppInstanceContext として渡します。
GetObjectContext は,コンテキストオブジェクトを指すポインタを返す場合に S_OK を返します。それ以外の場合はエラーコードを返します。
メモ: C++Builder は,トランザクションオブジェクトがアクティブになると自動的に IObjectContext インターフェースを取り出します。そのインターフェースポインタは,トランザクションオブジェクトのクラスの m_spObjectContext メンバーとして格納されます。
警告: VCL クラスを使用するトランザクションオブジェクトを記述する場合は,かわりに TMtsDll の Get_ObjectContext メソッドを使用してください。ComSvcs.h は,トランザクションオブジェクトを構築するために使用するシステムに応じて COM+ または MTS を呼び出すように,マクロを使って GetObjectContext を定義します。このマクロは,一部の VCL クラスの GetObjectContext メソッドを妨害するので,VCL ヘッダーがインクルードされる場合には未定義となります。