Partager via


Fonction BCryptQueryContextFunctionConfiguration (bcrypt.h)

[BCryptQueryContextFunctionConfiguration est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il peut être modifié ou indisponible dans les versions suivantes.]

La fonction BCryptQueryContextFunctionConfiguration obtient les informations de configuration de la fonction de chiffrement pour un contexte CNG existant.

Syntaxe

NTSTATUS BCryptQueryContextFunctionConfiguration(
  [in]      ULONG                          dwTable,
  [in]      LPCWSTR                        pszContext,
  [in]      ULONG                          dwInterface,
  [in]      LPCWSTR                        pszFunction,
  [in, out] ULONG                          *pcbBuffer,
  [in, out] PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer
);

Paramètres

[in] dwTable

Identifie la table de configuration dans laquelle le contexte existe. Il peut s’agir de l’une des valeurs suivantes.

Valeur Signification
CRYPT_LOCAL
Le contexte existe dans la table de configuration de l’ordinateur local.
CRYPT_DOMAIN
Cette valeur n’est pas disponible pour l’utilisation.

[in] pszContext

Pointeur vers une chaîne Unicode terminée par null qui contient l’identificateur du contexte pour lequel obtenir les informations de configuration de la fonction.

[in] dwInterface

Identifie l’interface de chiffrement pour laquelle obtenir les informations de configuration de la fonction. Il peut s’agir de l’une des valeurs suivantes.

Valeur Signification
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Obtenez les informations de configuration des fonctions à partir de la liste des fonctions de chiffrement asymétrique.
BCRYPT_CIPHER_INTERFACE
Obtenez les informations de configuration des fonctions à partir de la liste des fonctions de chiffrement.
BCRYPT_HASH_INTERFACE
Obtenez les informations de configuration des fonctions à partir de la liste des fonctions de hachage.
BCRYPT_RNG_INTERFACE
Obtenez les informations de configuration des fonctions à partir de la liste des fonctions de générateur de nombres aléatoires.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Obtenez les informations de configuration des fonctions à partir de la liste des fonctions d’accord secret.
BCRYPT_SIGNATURE_INTERFACE
Obtenez les informations de configuration des fonctions à partir de la liste des fonctions de signature.
NCRYPT_KEY_STORAGE_INTERFACE
Obtenez les informations de configuration des fonctions à partir de la liste des fonctions de stockage clés.
NCRYPT_SCHANNEL_INTERFACE
Obtenez les informations de configuration des fonctions à partir de la liste des fonctions Schannel.

[in] pszFunction

Pointeur vers une chaîne Unicode terminée par null qui contient l’identificateur de la fonction de chiffrement pour laquelle obtenir les informations de configuration.

[in, out] pcbBuffer

Adresse d’une variable ULONG qui, lors de l’entrée, contient la taille, en octets, de la mémoire tampon pointée vers ppBuffer. Si cette taille n’est pas suffisante pour contenir les informations de contexte, cette fonction échoue avec STATUS_BUFFER_TOO_SMALL.

Une fois cette fonction retournée, cette variable contient le nombre d’octets qui ont été copiés dans la mémoire tampon ppBuffer .

[in, out] ppBuffer

Adresse d’un pointeur vers une structure CRYPT_CONTEXT_FUNCTION_CONFIG qui reçoit les informations de configuration de fonction récupérées par cette fonction. La valeur indiquée par le paramètre pcbBuffer contient la taille de cette mémoire tampon.

Si la valeur pointée par ce paramètre est NULL, cette fonction alloue la mémoire requise. Cette mémoire doit être libérée lorsqu’elle n’est plus nécessaire en passant ce pointeur vers la fonction BCryptFreeBuffer .

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

Pour plus d’informations sur l’utilisation de ce paramètre, consultez Remarques.

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_BUFFER_TOO_SMALL
Le paramètre ppBuffer n’est pas NULL et la valeur pointée par le paramètre pcbBuffer n’est pas assez grande pour contenir l’ensemble de contextes.
STATUS_INVALID_PARAMETER
Un ou plusieurs paramètres ne sont pas valides.
STATUS_NO_MEMORY
Un échec d’allocation de mémoire s’est produit.
STATUS_NOT_FOUND
Le contexte ou la fonction spécifié est introuvable.

Remarques

Chaque fonction de chiffrement n’a qu’un seul ensemble d’informations de configuration. Par conséquent, bien que le paramètre ppBuffer semble être utilisé comme tableau, cette fonction le traite comme un tableau avec un seul élément. L’exemple suivant permet de clarifier la façon dont ce paramètre est utilisé.

// Get the function configuration information.
CRYPT_CONTEXT_FUNCTION_CONFIG FuncConfig;
ULONG uSize = sizeof(FuncConfig);
PCRYPT_CONTEXT_FUNCTION_CONFIG pFuncConfig = &FuncConfig;
status = BCryptQueryContextFunctionConfiguration(
    CRYPT_LOCAL, 
    pszContext, 
    NCRYPT_SCHANNEL_INTERFACE,
    pszFunction,
    &uSize, 
    &pFuncConfig);

BCryptQueryContextFunctionConfiguration 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

CRYPT_CONTEXT_FUNCTION_CONFIG