Partager via


Fonction EnumerateSecurityPackagesA (sspi.h)

La fonction EnumerateSecurityPackages retourne un tableau de structures SecPkgInfo qui fournissent des informations sur les packages de sécurité disponibles pour le client.

Syntaxe

SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesA(
  [in] unsigned long *pcPackages,
  [in] PSecPkgInfoA  *ppPackageInfo
);

Paramètres

[in] pcPackages

Pointeur vers une variable ULONG qui reçoit le nombre de packages disponibles sur le système. Cela inclut les packages déjà chargés et les packages disponibles à la demande.

[in] ppPackageInfo

Pointeur vers une variable qui reçoit un pointeur vers un tableau de structures SecPkgInfo . Chaque structure contient des informations provenant du fournisseur de support de sécurité (SSP) qui décrivent les fonctionnalités du package de sécurité disponible dans ce fournisseur de services partagés.

Une fois que vous avez terminé d’utiliser le tableau, libérez la mémoire en appelant la fonction FreeContextBuffer .

Valeur retournée

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

Si la fonction échoue, elle retourne un code d’erreur différent de zéro. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code/valeur de retour Description
SEC_E_INSUFFICIENT_MEMORY
0x80090300L
La mémoire n’était pas suffisante pour allouer une ou plusieurs des mémoires tampons.
SEC_E_INVALID_HANDLE
0x80090301L
Un handle non valide a été spécifié.
SEC_E_SECPKG_NOT_FOUND
0x80090305L
Le package spécifié est introuvable.

Remarques

L’appelant peut utiliser le membre Name d’une structure SecPkgInfo pour spécifier un package de sécurité dans un appel à la fonction AcquireCredentialsHandle (Général).

Notes

L’en-tête sspi.h définit EnumerateSecurityPackages comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

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 sspi.h (include Security.h)
Bibliothèque Secur32.lib
DLL SspiCli.dll

Voir aussi

AcquireCredentialsHandle (Général)

FreeContextBuffer

Fonctions SSPI

SecPkgInfo