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 を返します。

解説

true にCAutoRevertImpersonation のクラス が自動的に bImpersonate のフラグを設定することによって作成される偽装されたアクセス トークンを元に戻すために使用できます。

必要条件

ライブラリ: rpcrt4.lib

参照

関連項目

CAccessToken クラス

CAccessToken::OpenCOMClientToken

CAccessToken::OpenNamedPipeClientToken