次の方法で共有


SeCaptureSubjectContextEx 関数 (ntifs.h)

SeCaptureSubjectContextEx は、アクセスの検証と監査のために呼び出し元スレッドのセキュリティ コンテキストのスナップショットを取得します。

構文

void SeCaptureSubjectContextEx(
  PETHREAD                  Thread,
  PEPROCESS                 Process,
  PSECURITY_SUBJECT_CONTEXT SubjectContext
);

パラメーター

Thread

[in]スレッド トークンをキャプチャするスレッド。 このパラメーターは省略可能です。 NULL の場合、SeCaptureSubjectContextEx は偽装トークンをキャプチャしません。

Process

[in]プライマリ トークンのキャプチャ元となるプロセス ID へのポインター。

SubjectContext

[out]非透過的な呼び出し元によって割り当てられた SECURITY_SUBJECT_CONTEXT 構造体へのポインター。 SeCaptureSubjectContextEx は、呼び出し元スレッドのセキュリティ プロファイルのスナップショットを書き込みます。このプロファイルには、アクセス トークンへの参照が含まれています。 ドライバーは、セキュリティ上の決定を行うために、この構造体のメンバーに変更を加えたり、直接アクセスしたりしてはなりません。 代わりに、承認のセキュリティの問題を回避するには、SeAccessCheckまたは SePrivilegeCheck呼び出しでこの不透明な構造体を渡します。

戻り値

何一つ

備考

アクセスの検証や監査メッセージの生成などのサービスを実行する前に、SeCaptureSubjectContextEx を呼び出す必要があります。 これは、次のようなルーチンに一貫したセキュリティ コンテキストを提供するために必要です。

アクセス検証、特権チェック、および監査生成サービスが実行されたら、SeReleaseSubjectContext呼び出して、キャプチャされたコンテキストをできるだけ早く解放します。

SeCaptureSubjectContextEx 、呼び出し元のスレッドのセキュリティ コンテキストのスナップショットを取得するときに、必要に応じてトークンをロック

返されると、アクセス トークンへの参照は、SubjectContext が指 構造体に含まれます。 その構造の内容は変更される可能性があります。 これを回避するには、SeLockSubjectContext呼び出して、プライマリ アクセス トークンと、構造体に関連付けられている偽装トークンをロックします。 たとえば、同じセキュリティ コンテキスト (前述のものなど) でトークン情報を複数回照会するルーチンを使用する場合は、SeLockSubjectContext を使用してサブジェクト コンテキストをロックし、一貫性のある結果を取得します。

セキュリティとアクセス制御の詳細については、ドライバー開発者向けの Windows セキュリティ モデルの と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ヘッダー ntifs.h
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

関連項目

SECURITY_SUBJECT_CONTEXT

SeLockSubjectContext

SePrivilegeCheck

SeQueryAuthenticationIdToken

SeQueryInformationToken

SeQuerySubjectContextToken

SeReleaseSubjectContext

SeUnlockSubjectContext