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 を返します。
解説
true にCAutoRevertImpersonation のクラス が自動的に bImpersonate のフラグを設定することによって作成される偽装されたアクセス トークンを元に戻すために使用できます。
必要条件
ヘッダー : atlsecurity.h