Share via


Fonction NCryptEnumAlgorithms (ncrypt.h)

La fonction NCryptEnumAlgorithms obtient les noms des algorithmes pris en charge par le fournisseur de stockage de clés spécifié.

Syntaxe

SECURITY_STATUS NCryptEnumAlgorithms(
  [in]  NCRYPT_PROV_HANDLE  hProvider,
  [in]  DWORD               dwAlgOperations,
  [out] DWORD               *pdwAlgCount,
  [out] NCryptAlgorithmName **ppAlgList,
  [in]  DWORD               dwFlags
);

Paramètres

[in] hProvider

Handle du fournisseur de stockage de clés pour lequel énumérer les algorithmes. Ce handle est obtenu avec la fonction NCryptOpenStorageProvider .

[in] dwAlgOperations

Ensemble de valeurs qui déterminent les classes d’algorithme à énumérer. Il peut s’agir de zéro ou d’une combinaison d’une ou plusieurs des valeurs suivantes. Si dwAlgOperations est égal à zéro, tous les algorithmes sont énumérés.

Valeur Signification
NCRYPT_CIPHER_OPERATION
0x00000001
Énumérez les algorithmes de chiffrement (chiffrement symétrique).
NCRYPT_HASH_OPERATION
0x00000002
Énumérez les algorithmes de hachage.
NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
0x00000004
Énumérez les algorithmes de chiffrement asymétrique.
NCRYPT_SECRET_AGREEMENT_OPERATION
0x00000008
Énumérez les algorithmes d’accord de secret.
NCRYPT_SIGNATURE_OPERATION
0x00000010
Énumérez les algorithmes de signature numérique.

[out] pdwAlgCount

Adresse d’un DWORD qui reçoit le nombre d’éléments dans le tableau ppAlgList .

[out] ppAlgList

Adresse d’un pointeur de structure NCryptAlgorithmName qui reçoit un tableau des noms d’algorithmes inscrits. La variable pointée vers par le paramètre pdwAlgCount reçoit le nombre d’éléments dans ce tableau.

Lorsque cette mémoire n’est plus nécessaire, elle doit être libérée en passant ce pointeur vers la fonction NCryptFreeBuffer .

[in] dwFlags

Indicateurs qui modifient le comportement de la fonction. Il peut s’agir de zéro (0) ou de la valeur suivante.

Valeur Signification
NCRYPT_SILENT_FLAG
Demande que le fournisseur de services de clé (KSP) n’affiche aucune interface utilisateur. Si le fournisseur doit afficher l’interface utilisateur pour fonctionner, l’appel échoue et le KSP doit définir le code d’erreur NTE_SILENT_CONTEXT comme dernière erreur.

Valeur retournée

Retourne un code status qui indique la réussite ou l’échec de la fonction.

Les codes de retour possibles incluent, sans s’y limiter, les éléments suivants.

Code de retour Description
ERROR_SUCCESS
La fonction a réussi.
NTE_BAD_FLAGS
Le paramètre dwFlags contient une valeur qui n’est pas valide.
NTE_INVALID_HANDLE
Le paramètre hProvider n’est pas valide.
NTE_INVALID_PARAMETER
Un ou plusieurs paramètres ne sont pas valides.
NTE_NO_MEMORY
Un échec d’allocation de mémoire s’est produit.

Remarques

Un service ne doit pas appeler cette fonction à partir de sa fonction StartService. Si un service appelle cette fonction à partir de sa fonction StartService, un blocage peut se produire et le service peut cesser de répondre.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête ncrypt.h
Bibliothèque Ncrypt.lib
DLL Ncrypt.dll