次の方法で共有


CAccessToken::OpenRPCClientToken

クライアントからのアクセス トークンを使用して CAccessToken を初期化します。このメソッドは、RPC クライアントからの呼び出しを処理するサーバーで呼び出します。

bool OpenRPCClientToken(
   RPC_BINDING_HANDLE BindingHandle,
   DWORD dwDesiredAccess,
   bool bImpersonate = false,
   bool bOpenAsSelf = true
) throw(...);

パラメーター

  • BindingHandle
    クライアントへのバインディングを表すサーバーのバインディング ハンドル。

  • dwDesiredAccess
    アクセス トークンへのアクセス時に要求されるアクセスの種類を指定するアクセス マスク。 要求されたアクセスの種類は、許可または拒否するアクセスを決定するために、トークンの DACL と比較されます。

  • bImpersonate
    true の場合、呼び出しが正常終了すると、現在のスレッドは呼び出し RPC クライアントを偽装します。 false の場合、アクセス トークンが開きますが、この呼び出しが完了したときにスレッドは偽装トークンを持ちません。

  • bOpenAsSelf
    GetThreadToken メソッドを呼び出すスレッドのセキュリティ コンテキスト、または呼び出しスレッドのプロセスのセキュリティ コンテキストのどちらに対してアクセス チェックを行うかを指定します。

    パラメーターが false の場合、呼び出しスレッドのセキュリティ コンテキストを使用してアクセス チェックが行われます。 スレッドがクライアントを偽装する場合、このセキュリティ コンテキストはクライアント プロセスのセキュリティ コンテキストであってもかまいません。 パラメーターが true の場合は、呼び出しスレッドのプロセスのセキュリティ コンテキストを使用してアクセス チェックが行われます。

戻り値

正常に終了した場合は true を返します。それ以外の場合は false を返します。

解説

CAutoRevertImpersonation クラス を使用して、bImpersonate フラグを true に設定して作成された偽装アクセス トークンを自動的に復帰できます。

必要条件

ライブラリ:rpcrt4.lib

参照

参照

CAccessToken クラス

CAccessToken::OpenCOMClientToken

CAccessToken::OpenNamedPipeClientToken

その他の技術情報

CAccessToken のメンバー