BCryptResolveProviders, fonction (bcrypt.h)
La fonction BCryptResolveProviders obtient une collection de tous les fournisseurs qui répondent aux critères spécifiés.
Syntaxe
NTSTATUS BCryptResolveProviders(
[in, optional] LPCWSTR pszContext,
[in, optional] ULONG dwInterface,
[in, optional] LPCWSTR pszFunction,
[in, optional] LPCWSTR pszProvider,
[in] ULONG dwMode,
[in] ULONG dwFlags,
[in, out] ULONG *pcbBuffer,
[in, out] PCRYPT_PROVIDER_REFS *ppBuffer
);
Paramètres
[in, optional] pszContext
Pointeur vers une chaîne Unicode terminée par null qui contient l’identificateur du contexte pour lequel obtenir les fournisseurs. Si cette valeur est définie sur NULL ou sur une chaîne vide, le contexte par défaut est supposé.
[in, optional] dwInterface
Identificateur d’une interface que le fournisseur doit prendre en charge. Il doit s’agir de l’un des identificateurs d’interface CNG . Si le paramètre pszFunction n’est pas NULL ou une chaîne vide, vous pouvez définir dwInterface sur zéro pour forcer la fonction à déduire l’interface.
[in, optional] pszFunction
Pointeur vers une chaîne Unicode terminée par null qui contient l’algorithme ou l’identificateur de fonction pris en charge par le fournisseur. Il peut s’agir de l’un des identificateurs d’algorithme CNG standard ou de l’identificateur d’un autre algorithme inscrit. Si dwInterface est défini sur une valeur différente de zéro, pszFunction peut être NULL pour inclure tous les algorithmes et fonctions.
[in, optional] pszProvider
Pointeur vers une chaîne Unicode terminée par null qui contient le nom du fournisseur à récupérer. Si ce paramètre est NULL, tous les fournisseurs sont inclus.
Ce paramètre vous permet de spécifier un fournisseur spécifique à récupérer si plusieurs fournisseurs répondent aux autres critères.
[in] dwMode
Spécifie le type de fournisseur à récupérer. Il peut s’agir de l’une des valeurs suivantes.
[in] dwFlags
Ensemble d’indicateurs qui modifient le comportement de cette fonction.
Il peut s’agir d’un zéro ou d’une combinaison d’une ou plusieurs des valeurs suivantes.
[in, out] pcbBuffer
Pointeur vers une valeur DWORD qui, lors de l’entrée, contient la taille, en octets, de la mémoire tampon pointée par 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.
[in, out] ppBuffer
Adresse d’un pointeur CRYPT_PROVIDER_REFS qui reçoit la collection de fournisseurs qui répondent aux critères spécifiés.
Si ce paramètre est NULL, cette fonction retourne STATUS_SUCCESS et place dans la valeur pointée par le paramètre dockerBuffer, la taille requise, en octets, de toutes les données.
Si ce paramètre est l’adresse d’un pointeur NULL
Si ce paramètre est l’adresse d’un pointeur NULL non
Valeur de retour
Retourne un code d’état qui indique la réussite ou l’échec de la fonction.
Les codes de retour possibles incluent, mais ne sont pas limités à, les éléments suivants.
Retourner le code | Description |
---|---|
|
La fonction a réussi. |
|
La taille spécifiée par le paramètre |
|
Un ou plusieurs paramètres ne sont pas valides. |
|
Aucun fournisseur n’est trouvé qui répond à tous les critères spécifiés. |
Remarques
BCryptResolveProviders peuvent être appelés en mode utilisateur ou en mode noyau. Les appelants en mode noyau doivent s’exécuter à PASSIVE_LEVELIRQL.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2008 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | bcrypt.h |
bibliothèque | Bcrypt.lib |
DLL | Bcrypt.dll |