Partager via


SpAcquireCredentialsHandleFn, fonction de rappel (ntsecpkg.h)

Appelé pour obtenir un handle pour les informations d’identification d’un principal. Le package de sécurité peut refuser l’accès à l’appelant si l’appelant n’est pas autorisé à accéder aux informations d’identification.

Si le handle d’informations d’identification est retourné à l’appelant, le package doit également spécifier une heure d’expiration pour le handle.

Syntaxe

SpAcquireCredentialsHandleFn Spacquirecredentialshandlefn;

NTSTATUS Spacquirecredentialshandlefn(
  [in]  PUNICODE_STRING PrincipalName,
  [in]  ULONG CredentialUseFlags,
  [in]  PLUID LogonId,
  [in]  PVOID AuthorizationData,
        PVOID GetKeyFunciton,
  [in]  PVOID GetKeyArgument,
  [out] PLSA_SEC_HANDLE CredentialHandle,
  [out] PTimeStamp ExpirationTime
)
{...}

Paramètres

[in] PrincipalName

Facultatif. Pointeur vers une structure de UNICODE_STRING contenant le nom du principal de sécurité dont les informations d’identification sont demandées. Si cette valeur est NULL, l’appelant demande un handle aux informations d’identification de l’utilisateur dans le contexte de sécurité duquel l’appelant s’exécute.

[in] CredentialUseFlags

Indicateurs indiquant la façon dont les informations d’identification seront utilisées. Les valeurs suivantes sont valides.

Valeur Signification
SECPKG_CRED_INBOUND
Les informations d’identification seront utilisées avec la fonction AcceptSecurityContext (Général).
SECPKG_CRED_OUTBOUND
Les informations d’identification seront utilisées avec la fonction InitializeSecurityContext (Général).

[in] LogonId

facultatif. Pointeur vers un LUID contenant l’identificateur d’ouverture de session du principal de sécurité.

[in] AuthorizationData

facultatif. Pointeur vers des données d’authentification supplémentaires.

GetKeyFunciton

[in] GetKeyArgument

Pointeur vers l’argument utilisé avec la fonction GetKeyFunction .

[out] CredentialHandle

Pointeur vers un LSA_SEC_HANDLE qui reçoit les informations d’identification. Une fois que vous avez terminé d’utiliser les informations d’identification, libérez le handle en appelant la fonction SpFreeCredentialsHandle .

[out] ExpirationTime

Pointeur vers un TimeStamp qui reçoit l’heure d’expiration du handle d’informations d’identification.

Valeur retournée

Si la fonction réussit, retournez STATUS_SUCCESS.

Si la fonction échoue, retourne un code NTSTATUS qui indique la raison de son échec. Le tableau suivant répertorie les raisons courantes de l’échec et les codes d’erreur qui doivent être retournés.

Code de retour Description
SEC_E_NOT_OWNER
L’accès est refusé à l’appelant.
SEC_E_NO_CREDENTIALS
Aucune information d’identification n’est disponible pour le principal spécifié.

Remarques

Le package peut utiliser les fonctions de prise en charge de l’autorité de sécurité locale (LSA) pour déterminer si l’appelant doit avoir accès aux informations d’identification demandées.

Les informations d’identification obtenues à partir de SpAcquireCredentialsHandle sont libérées en appelant la fonction SpFreeCredentialsHandle .

SSP/APs doivent implémenter la fonction SpAcquireCredentialsHandle ; toutefois, le nom réel donné à l’implémentation appartient au développeur.

Un pointeur vers la fonction SpAcquireCredentialsHandle est disponible dans la structure SECPKG_FUNCTION_TABLE reçue de la fonction SpLsaModeInitialize .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête ntsecpkg.h

Voir aussi

SECPKG_FUNCTION_TABLE

SpFreeCredentialsHandle

SpLsaModeInitialize