Fonction SeCaptureSubjectContext (ntifs.h)
SeCaptureSubjectContext prend une instantané du contexte du thread appelant pour la validation et l’audit de l’accès. Voir également SeCaptureSubjectContextEx.
Syntaxe
void SeCaptureSubjectContext(
[out] PSECURITY_SUBJECT_CONTEXT SubjectContext
);
Paramètres
[out] SubjectContext
[out] Pointeur vers une structure de SECURITY_SUBJECT_CONTEXT opaque allouée par l’appelant . SeCaptureSubjectContext écrit la instantané du profil de sécurité du thread appelant, qui contient des références aux jetons d’accès, dans cette structure. Les pilotes ne doivent pas modifier ou essayer d’accéder directement aux membres de cette structure pour prendre des décisions de sécurité. Au lieu de cela, pour éviter les problèmes de sécurité dans l’autorisation, transmettez cette structure opaque dans les appels à SeAccessCheck ou SePrivilegeCheck.
Valeur de retour
None
Remarques
Vous devez appeler SeCaptureSubjectContext avant d’effectuer des services tels que la validation d’accès ou la génération de messages d’audit. Cela est nécessaire pour fournir un contexte de sécurité cohérent aux routines telles que les suivantes :
Une fois la validation de l’accès, la vérification des privilèges et les services de génération d’audit effectués, libérez le contexte capturé dès que possible en appelant SeReleaseSubjectContext.
SeCaptureSubjectContext verrouille les jetons si nécessaire tout en prenant l’instantané du contexte de sécurité du thread appelant.
Au retour, les références aux jetons d’accès sont contenues dans la structure vers laquelle SubjectContext pointe. Le contenu de cette structure peut changer. Pour éviter cela, appelez SeLockSubjectContext pour verrouiller le jeton d’accès principal et tous les jetons d’emprunt d’identité associés à la structure. Par exemple, lors de l’utilisation de routines qui interrogent plusieurs fois les informations de jeton dans le même contexte de sécurité (comme celles précédemment répertoriées), verrouillez le contexte d’objet avec SeLockSubjectContext pour obtenir des résultats cohérents.
Pour plus d’informations sur la sécurité et le contrôle d’accès, consultez Modèle de sécurité Windows pour les développeurs de pilotes et la documentation sur ces rubriques dans le Kit de développement logiciel (SDK) Windows.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 |
Plateforme cible | Universal |
En-tête | ntifs.h (inclure Ntifs.h, Wdm.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |