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::OpenCOMClientToken
CAccessToken::OpenNamedPipeClientToken