Share via


LSA_ADD_CREDENTIAL fonction de rappel (ntsecpkg.h)

[AddCredential est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. Les applications doivent utiliser la fonction LsaCallAuthenticationPackage avec KerbAddExtraCredentialsMessage spécifié comme type de message. KerbAddExtraCredentialsMessage est une valeur d’énumération KERB_PROTOCOL_MESSAGE_TYPE .]

Ajoute des informations d’identification à une session d’ouverture de session. Ces informations d’identification peuvent être référencées ultérieurement via un appel à la fonction GetCredentials .

Syntaxe

LSA_ADD_CREDENTIAL LsaAddCredential;

NTSTATUS LsaAddCredential(
  [in] PLUID LogonId,
  [in] ULONG AuthenticationPackage,
  [in] PLSA_STRING PrimaryKeyValue,
  [in] PLSA_STRING Credentials
)
{...}

Paramètres

[in] LogonId

Pointeur vers un LUID qui contient l’ID de session de la session de connexion à laquelle les informations d’identification doivent être ajoutées.

[in] AuthenticationPackage

ID de package d’authentification du package d’authentification appelant. Cette valeur est reçue dans l’appel LsaApInitializePackage lors de l’initialisation de dll.

[in] PrimaryKeyValue

Chaîne qui contient une valeur que le package d’authentification devra ultérieurement référencer en tant que clé primaire des données d’informations d’identification. Cela peut être utilisé, par exemple, pour conserver le nom du domaine ou du serveur auquel les informations d’identification sont liées. Le format et la signification de cette chaîne sont spécifiques au package d’authentification. Notez que la valeur de chaîne n’a pas besoin d’être unique, même pour la session d’ouverture de session spécifiée. Par exemple, il peut y avoir deux mots de passe pour le même domaine, chacun avec les mots de passe stockés en tant qu’informations d’identification et le nom de domaine stocké comme clé primaire.

[in] Credentials

Chaîne qui représente les informations d’identification de l’utilisateur. Le format et la signification de cette chaîne sont spécifiques au package d’authentification.

Valeur retournée

Si la fonction réussit, la fonction retourne STATUS_SUCCESS.

Si la fonction échoue, elle retourne un code NTSTATUS , qui peut être la valeur suivante ou l’une des valeurs de retour de la fonction de stratégie LSA.

Code de retour Description
STATUS_NO_SUCH_LOGON_SESSION
La session d’ouverture de session spécifiée est introuvable.
 

La fonction LsaNtStatusToWinError convertit un code NTSTATUS en code d’erreur Windows.

Remarques

Le corps de la chaîne d’informations d’identification doit être auto-relatif ; autrement dit, il ne doit contenir aucun pointeur vers la mémoire en dehors des informations d’identification. Les informations d’identification sont copiées et tous les pointeurs en dehors des informations d’identification elles-mêmes ne seront plus valides dans la copie. En particulier, les chaînes mentionnées dans les informations d’identification doivent avoir l’en-tête et le corps UNICODE_STRING placés dans la mémoire tampon des informations d’identification. Les pointeurs vers des chaînes dans le corps des informations d’identification doivent être remplacés par des décalages.

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

GetCredentials

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE