Share via


Fonction BCryptQueryProviderRegistration (bcrypt.h)

La fonction BCryptQueryProviderRegistration récupère des informations sur un fournisseur CNG.

Syntaxe

NTSTATUS BCryptQueryProviderRegistration(
  [in]      LPCWSTR             pszProvider,
  [in]      ULONG               dwMode,
  [in]      ULONG               dwInterface,
  [in, out] ULONG               *pcbBuffer,
  [in, out] PCRYPT_PROVIDER_REG *ppBuffer
);

Paramètres

[in] pszProvider

Pointeur vers une chaîne Unicode terminée par null qui contient le nom du fournisseur sur lequel obtenir des informations.

[in] dwMode

Spécifie le type d’informations à récupérer. Il peut s’agir de l’une des valeurs suivantes.

Valeur Signification
CRYPT_ANY
Récupérez toutes les informations pour le fournisseur.
CRYPT_UM
Récupérer les informations de mode utilisateur pour le fournisseur.
CRYPT_KM
Récupérez les informations de mode noyau pour le fournisseur.
CRYPT_MM
Récupérez les informations sur le mode utilisateur et le mode noyau pour le fournisseur.

[in] dwInterface

Spécifie l’interface pour laquelle récupérer des informations. Il peut s’agir de l’une des valeurs suivantes.

Valeur Signification
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Récupérez l’interface de chiffrement asymétrique.
BCRYPT_CIPHER_INTERFACE
Récupérez l’interface de chiffrement.
BCRYPT_HASH_INTERFACE
Récupérez l’interface de hachage.
NCRYPT_KEY_STORAGE_INTERFACE
Récupérez l’interface de stockage de clés.
BCRYPT_RNG_INTERFACE
Récupérez l’interface du générateur de nombres aléatoires.
NCRYPT_SCHANNEL_INTERFACE
Récupérez l’interface Schannel.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Récupérez l’interface du contrat secret.
BCRYPT_SIGNATURE_INTERFACE
Récupérez l’interface de signature.

[in, out] pcbBuffer

Pointeur vers une valeur ULONG qui, lors de l’entrée, contient la taille, en octets, de la mémoire tampon pointée vers le paramètre ppBuffer . À la sortie, cette valeur reçoit le nombre d’octets copiés dans la mémoire tampon ou la taille requise, en octets, de la mémoire tampon.

Note Il s’agit de la taille totale, en octets, de la mémoire tampon entière, et pas seulement de la taille de la structure CRYPT_PROVIDER_REG . La mémoire tampon doit être en mesure de contenir d’autres données pour les fournisseurs en plus de la structure CRYPT_PROVIDER_REG .
 

[in, out] ppBuffer

Pointeur vers un pointeur de mémoire tampon qui reçoit une structure CRYPT_PROVIDER_REG et d’autres données qui décrivent le fournisseur.

Si ce paramètre a la valeur NULL, cette fonction retourne STATUS_BUFFER_TOO_SMALL et place dans la valeur pointée par le paramètre pcbBuffer , la taille requise, en octets, de toutes les données.

Si ce paramètre est l’adresse d’un pointeur NULL , cette fonction alloue la mémoire requise, la renseigne avec les informations du fournisseur et place un pointeur vers cette mémoire dans ce paramètre. Lorsque vous avez terminé d’utiliser cette mémoire, libérez-la en passant ce pointeur vers la fonction BCryptFreeBuffer .

Si ce paramètre est l’adresse d’un pointeur non NULL , cette fonction copie les informations du fournisseur dans cette mémoire tampon. Le paramètre pcbBuffer doit contenir la taille, en octets, de la mémoire tampon entière. Si la mémoire tampon n’est pas assez grande pour contenir toutes les informations du fournisseur, cette fonction retourne STATUS_BUFFER_TOO_SMALL.

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
STATUS_SUCCESS
La fonction a réussi.
STATUS_INVALID_PARAMETER
Un ou plusieurs paramètres ne sont pas valides.
STATUS_BUFFER_TOO_SMALL
La taille spécifiée par le paramètre pcbBuffer n’est pas assez grande pour contenir toutes les données.
STATUS_NOT_FOUND
Aucun fournisseur correspondant aux critères spécifiés n’a pu être trouvé.

Remarques

BCryptQueryProviderRegistration peut être appelé uniquement en mode utilisateur.

Configuration requise

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

Voir aussi

BCryptFreeBuffer

CRYPT_PROVIDER_REG