SeCreateClientSecurity 関数 (ntifs.h)
SeCreateClientSecurity ルーチンは、SeImpersonateClientEx を呼び出すために必要な情報を使用して、セキュリティ クライアント コンテキスト構造を初期化します。
構文
NTSTATUS SeCreateClientSecurity(
[in] PETHREAD ClientThread,
[in] PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos,
BOOLEAN RemoteSession,
[out] PSECURITY_CLIENT_CONTEXT ClientContext
);
パラメーター
[in] ClientThread
偽装するクライアントのスレッドへのポインター。
[in] ClientSecurityQos
実行する偽装の形式を示す呼び出し元によって割り当てられたSECURITY_QUALITY_OF_SERVICE構造体へのポインター。
RemoteSession
クライアントの要求のサーバーがリモートの場合は TRUE に設定します。
[out] ClientContext
初期化する呼び出し元によって割り当てられたSECURITY_CLIENT_CONTEXT構造体へのポインター。
戻り値
リターン コード | 説明 |
---|---|
STATUS_SUCCESS | セキュリティ クライアント コンテキストが正常に初期化されました。 |
STATUS_BAD_IMPERSONATION_LEVEL | 偽装されるクライアントは現在、独自のクライアントを偽装しており、次のいずれかになります。(1) 偽装レベルが SecurityAnonymous または SecurityIdentification であるため、クライアントの有効なトークンを別のサーバーで使用するために渡すことはできません。 (2) ServerIsRemote が TRUE で、クライアント スレッドが SecurityDelegation レベル以外でクライアントを偽装しています。 |
注釈
SeCreateClientSecurity は、クライアントのセキュリティ コンテキストを表すクライアント セキュリティ コンテキスト ブロックを初期化します。
ClientSecurityQos の ContextTrackingMode メンバーが SECURITY_DYNAMIC_TRACKING に設定され、ServerIsRemote が FALSE に設定されている場合、SeCreateClientSecurity はクライアントの有効なトークンへの参照を使用します。 それ以外の場合、 SeCreateClientSecurity は クライアントのトークンのコピーを作成します。
SeCreateClientSecurity の各呼び出しは、SeDeleteClientSecurity の後続の呼び出しと一致する必要があります。
セキュリティとアクセス制御の詳細については、 ドライバー開発者向けの Windows セキュリティ モデル と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |