CAccessToken::OpenThreadToken
偽装レベルを設定し、特定のスレッドからのトークンとの CAccessToken を初期化するには、このメソッドを呼び出します。
bool OpenThreadToken(
DWORD dwDesiredAccess,
bool bImpersonate = false,
bool bOpenAsSelf = true,
SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation
) throw(...);
パラメーター
dwDesiredAccess
アクセス トークンへのアクセスを要求する型を指定するマスク アクセスを指定します。これらの要求するアクセスの種類をトークンの DACL と、アクセスを許可または拒否するかを判断する比較されます。bImpersonate
true の場合、スレッドは要求された偽装レベルでこのメソッドが完了した後に残ります。false の場合、スレッドは元の偽装レベルに戻ります。bOpenAsSelf
アクセスのチェックが GetThreadToken のメソッドを呼び出すスレッドのセキュリティ コンテキストまたは呼び出し元スレッドのプロセスのセキュリティ コンテキストに対して適用するかどうかを示します。このパラメーターが false の場合、アクセスのチェックは、呼び出し元スレッドのセキュリティ コンテキストを使用して実行されます。スレッドがクライアントを偽装する場合、このセキュリティ コンテキストはクライアント プロセスのことです。このパラメーターが TRUE の場合、アクセスのチェックは、呼び出し元スレッドのプロセスのセキュリティ コンテキストを使用して行われます。
sil
トークンの偽装レベルを指定する SECURITY_IMPERSONATION_LEVEL によって列挙される型を指定します。
戻り値
正常に終了した場合は true を返します。それ以外の場合は false を返します。
解説
OpenThreadToken は、CAccessToken::GetThreadTokenセットになります。スレッド アクセス トークンから CAccessToken を初期化する前に偽装レベル。
true にCAutoRevertImpersonation のクラス が自動的に bImpersonate のフラグを設定することによって作成される偽装されたアクセス トークンを元に戻すために使用できます。
必要条件
ヘッダー : atlsecurity.h