SeCaptureSubjectContext 関数 (ntifs.h)

SeCaptureSubjectContext は、アクセスの検証と監査のために、呼び出し元スレッドのコンテキストのスナップショットを受け取ります。 SeCaptureSubjectContextEx も参照してください。

構文

void SeCaptureSubjectContext(
  [out] PSECURITY_SUBJECT_CONTEXT SubjectContext
);

パラメーター

[out] SubjectContext

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

戻り値

なし

解説

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

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

SeCaptureSubjectContext は、呼び出し元スレッドのセキュリティ コンテキストのスナップショットを取得しながら、必要に応じてトークンをロックします。

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

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

要件

要件
サポートされている最小のクライアント Windows 2000
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h、Wdm.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL

こちらもご覧ください

SeCaptureSubjectContextEx

SECURITY_SUBJECT_CONTEXT

SeLockSubjectContext

SePrivilegeCheck

SeQueryAuthenticationIdToken

SeQueryInformationToken

SeQuerySubjectContextToken

SeReleaseSubjectContext

SeUnlockSubjectContext