Share via


CoLeaveServiceDomain 関数 (comsvcs.h)

COM+ サービスを使用するコードを残すために使用されます。

構文

void CoLeaveServiceDomain(
  [in] IUnknown *pUnkStatus
);

パラメーター

[in] pUnkStatus

呼び出しによって完了したトランザクションの状態を知りたい場合は、ITransactionStatus インターフェイスを実装するオブジェクトの IUnknown インターフェイスへのポインターである必要があります。 囲まれたコードでトランザクションが使用されなかった場合、またはトランザクションの状態を知る必要がない場合は、このパラメーターは NULL にする必要があります。 このパラメーターは、NULL 以外の場合は無視され、サービス ドメインでトランザクションが使用されなかった場合は無視されます。

戻り値

なし

解説

CoEnterServiceDomain と CoLeaveServiceDomain の呼び出しの間で囲まれたコードは、独自のコンテキストで実行され、コンテキスト内で作成されたオブジェクトから呼び出されたメソッドであるかのように動作します。

CoLeaveServiceDomain はサーバーをトリガーし、メソッド呼び出しが返されたかのようにクライアント側のポリシーをトリガーします。 その後、現在のコンテキストがコンテキスト スタックからポップされ、 CoEnterServiceDomain が呼び出されたときに実行されていたコンテキストが現在のコンテキストになります。

効率的な設計とスレッド マーシャリングが関係しないため、 CoEnterServiceDomainCoLeaveServiceDomain を使用すると、同等のメソッド呼び出しと比較してオーバーヘッドが大幅に削減されます。

CoEnterServiceDomainCoLeaveServiceDomain は、これらの関数を使用して COM+ サービスにアクセスできるアプリケーションで特に役立ちます。そのためのコンポーネントを作成する必要はありません。

CoEnterServiceDomainCoLeaveServiceDomain のペアは入れ子にすることができます。 CoLeaveServiceDomain に対するすべての呼び出しが、CoEnterServiceDomain への以前の呼び出しと一致するように、呼び出しのペアのバランスを取るようにするのはユーザーの判断です。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー comsvcs.h
Library ComSvcs.lib
[DLL] ComSvcs.dll

こちらもご覧ください

コンポーネントのない COM+ サービス

CServiceConfig

CoCreateActivity

CoEnterServiceDomain