Fonction SeCreateClientSecurityFromSubjectContext (ntifs.h)

La routine SeCreateClientSecurityFromSubjectContext récupère le jeton d’accès pour un contexte de sujet de sécurité et utilise le résultat pour initialiser un contexte client de sécurité avec les informations nécessaires pour appeler SeImpersonateClientEx.

Syntaxe

NTSTATUS SeCreateClientSecurityFromSubjectContext(
  [in]  PSECURITY_SUBJECT_CONTEXT    SubjectContext,
  [in]  PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos,
  [in]  BOOLEAN                      ServerIsRemote,
  [out] PSECURITY_CLIENT_CONTEXT     ClientContext
);

Paramètres

[in] SubjectContext

Pointeur vers le contexte du sujet de sécurité du client à emprunter l’identité.

[in] ClientSecurityQos

Pointeur vers une structure de SECURITY_QUALITY_OF_SERVICE allouée par l’appelant indiquant la forme d’emprunt d’identité à effectuer.

[in] ServerIsRemote

Définissez sur TRUE si le serveur de la requête du client est distant.

[out] ClientContext

Pointeur vers une structure de SECURITY_CLIENT_CONTEXT allouée par l’appelant à initialiser.

Valeur retournée

SeCreateClientSecurityFromSubjectContext retourne STATUS_SUCCESS lorsqu’il initialise correctement le contexte client de sécurité.

Elle retourne STATUS_BAD_IMPERSONATION_LEVEL lorsque le client à emprunter l’identité emprunte actuellement l’identité d’un client et que l’une des conditions suivantes est vraie :

  • Le jeton effectif du client ne peut pas être transmis pour une utilisation par un autre serveur, car son niveau d’emprunt d’identité est SecurityAnonymous ou SecurityIdentification.

  • ServerIsRemote a la valeur TRUE et le thread client emprunte l’identité de son client à un autre niveau que SecurityDelegation .

Remarques

SeCreateClientSecurityFromSubjectContext initialise un bloc de contexte de sécurité client pour représenter le contexte de sécurité d’un client.

Si le membre ContextTrackingMode de ClientSecurityQos a la valeur SECURITY_DYNAMIC_TRACKING et que ServerIsRemote a la valeur FALSE, SeCreateClientSecurityFromSubjectContext utilise une référence au jeton effectif du client. Sinon, SeCreateClientSecurityFromSubjectContext crée une copie du jeton du client.

Chaque appel à SeCreateClientSecurityFromSubjectContext doit être mis en correspondance par un appel suivant à SeDeleteClientSecurity.

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)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Voir aussi

[SECURITY_SUBJECT_CONTEXT/(/windows-hardware/drivers/kernel/eprocess##security_subject_context)

[SeDeleteClientSecurity/(nf-ntifs-sedeleteclientsecurity.md)

[SeImpersonateClientEx/(nf-ntifs-seimpersonateclientex.md)