ImpersonateSelf 関数 (securitybaseapi.h)
ImpersonateSelf 関数は、呼び出し元プロセスのセキュリティ コンテキストを偽装するアクセス トークンを取得します。 トークンは呼び出し元のスレッドに割り当てられます。
構文
BOOL ImpersonateSelf(
[in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
);
パラメーター
[in] ImpersonationLevel
新しいトークンの偽装レベルを指定する SECURITY_IMPERSONATION_LEVEL 列挙型を指定します。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
ImpersonateSelf 関数は、プロセス全体ではなく、1 つのスレッドの特権を有効にしたり、1 つのスレッドの既定の随意アクセス制御リスト (DACL) を変更したりするタスクに使用されます。
偽装が完了すると、サーバーは RevertToSelf 関数を呼び出すことができます。
この関数を成功させるには、プロセス トークンを保護する DACL がTOKEN_DUPLICATE自身に権限を付与する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | securitybaseapi.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |