CAccessToken::OpenNamedPipeClientToken
クライアントからのアクセス トークンを使用して CAccessToken を初期化します。このメソッドは、名前付きパイプに関する要求を取得するサーバーで呼び出します。
bool OpenNamedPipeClientToken(
HANDLE hPipe,
DWORD dwDesiredAccess,
bool bImpersonate = false,
bool bOpenAsSelf = true
) throw(...);
パラメーター
hPipe
名前付きパイプへのハンドル。dwDesiredAccess
アクセス トークンへのアクセス時に要求されるアクセスの種類を指定するアクセス マスク。 要求されたアクセスの種類は、許可または拒否するアクセスを決定するために、トークンの DACL と比較されます。bImpersonate
true の場合、呼び出しが正常終了すると、現在のスレッドは呼び出しパイプ クライアントを偽装します。 false の場合、アクセス トークンが開きますが、この呼び出しが完了したときにスレッドは偽装トークンを持ちません。bOpenAsSelf
GetThreadToken メソッドを呼び出すスレッドのセキュリティ コンテキスト、または呼び出しスレッドのプロセスのセキュリティ コンテキストのどちらに対してアクセス チェックを行うかを指定します。パラメーターが false の場合、呼び出しスレッドのセキュリティ コンテキストを使用してアクセス チェックが行われます。 スレッドがクライアントを偽装する場合、このセキュリティ コンテキストはクライアント プロセスのセキュリティ コンテキストであってもかまいません。 パラメーターが true の場合は、呼び出しスレッドのプロセスのセキュリティ コンテキストを使用してアクセス チェックが行われます。
戻り値
正常に終了した場合は true を返します。それ以外の場合は false を返します。
解説
CAutoRevertImpersonation クラス を使用して、bImpersonate フラグを true に設定して作成された偽装アクセス トークンを自動的に復帰できます。
必要条件
**ヘッダー:**atlsecurity.h
参照
参照
CAccessToken::OpenCOMClientToken
CAccessToken::OpenRPCClientToken