PsReferenceImpersonationToken, fonction (ntifs.h)

La routine PsReferenceImpersonationToken incrémente le nombre de références du jeton d’emprunt d’identité pour le thread spécifié.

Syntaxe

PACCESS_TOKEN PsReferenceImpersonationToken(
  [in, out] PETHREAD                      Thread,
  [out]     PBOOLEAN                      CopyOnOpen,
  [out]     PBOOLEAN                      EffectiveOnly,
  [out]     PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel
);

Paramètres

[in, out] Thread

Adresse du thread dont le nombre de références du jeton d’emprunt d’identité doit être incrémenté.

[out] CopyOnOpen

Pointeur vers une variable booléenne allouée par l’appelant. En retour, ce paramètre reçoit TRUE si le jeton ne peut pas être ouvert directement. Dans ce cas, le jeton doit être dupliqué et le jeton dupliqué doit être utilisé à la place. Si le jeton peut être ouvert directement, ce paramètre reçoit FALSE.

[out] EffectiveOnly

Pointeur vers une variable booléenne allouée par l’appelant. Au retour, ce paramètre reçoit FALSE si le thread est autorisé à activer les groupes et les privilèges actuellement désactivés dans le contexte de sécurité du client, TRUE dans le cas contraire.

[out] ImpersonationLevel

Pointeur vers une variable de SECURITY_IMPERSONATION_LEVEL allouée par l’appelant. Au retour, ce paramètre reçoit une valeur qui spécifie le niveau d’emprunt d’identité auquel le thread est autorisé à accéder au jeton.

Valeur retournée

PsReferenceImpersonationToken retourne un pointeur vers le jeton d’emprunt d’identité pour le thread donné. Si le thread n’emprunte pas actuellement l’identité d’un client, un pointeur NULL est retourné.

Remarques

Si le thread emprunte actuellement l’identité d’un client, PsReferenceImpersonationToken incrémente le nombre de références du jeton d’emprunt d’identité et retourne un pointeur vers le jeton. Si le pointeur retourné n’est pas NULL, le nombre de références du jeton d’emprunt d’identité doit être décrémenté en appelant l’une des fonctions suivantes :

  • ObDereferenceObject, pour Windows 2000
  • PsDereferenceImpersonationToken, pour Microsoft Windows XP ou version ultérieure

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 (include FltKernel.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

ObDereferenceObject

PsDereferenceImpersonationToken

PsImpersonateClient

SECURITY_IMPERSONATION_LEVEL