CoImpersonateClient 関数 (combaseapi.h)
呼び出しの間、サーバーが現在の呼び出しのクライアントを偽装できるようにします。
構文
HRESULT CoImpersonateClient();
戻り値
この関数は、S_OKを含む標準の戻り値をサポートします。
解説
このメソッドを使用すると、サーバーは、呼び出しの間、現在の呼び出しのクライアントを偽装できます。 CoRevertToSelf を呼び出さない場合、COM は自動的に元に戻します。 オブジェクトがRPC_C_AUTHN_LEVEL_CONNECT以上の認証を有効にして呼び出されていない限り、この関数は失敗します (RPC_C_AUTHN_LEVEL_NONEを除く任意の認証レベル)。 この関数は、次の一連の一般的な呼び出しをカプセル化します (エラー処理は除外されます)。
CoGetCallContext(IID_IServerSecurity, (void**)&pss);
pss->ImpersonateClient();
pss->Release();
CoImpersonateClient は 、現在の呼び出しに関するデータを含む IServerSecurity のインスタンスへのポインターを取得し、 その ImpersonateClient メソッドを呼び出してからポインターを解放するプロセスをカプセル化します。 CoRevertToSelf (または IServerSecurity::RevertToSelf) を 1 回呼び出すと、任意の数の呼び出しを元に戻してクライアントを偽装します。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | combaseapi.h (Objbase.h を含む) |
Library | Ole32.lib |
[DLL] | Ole32.dll |