Partager via


BCryptGetProperty, fonction (bcrypt.h)

La fonction BCryptGetProperty récupère la valeur d’une propriété nommée pour un objet CNG.

Syntaxe

NTSTATUS BCryptGetProperty(
  [in]  BCRYPT_HANDLE hObject,
  [in]  LPCWSTR       pszProperty,
  [out] PUCHAR        pbOutput,
  [in]  ULONG         cbOutput,
  [out] ULONG         *pcbResult,
  [in]  ULONG         dwFlags
);

Paramètres

[in] hObject

Handle qui représente l’objet CNG pour lequel obtenir la valeur de propriété.

[in] pszProperty

Pointeur vers une chaîne Unicode terminée par null qui contient le nom de la propriété à récupérer. Il peut s’agir de l’un des identificateurs de propriété primitives de chiffrement prédéfinis ou d’un identificateur de propriété personnalisé.

[out] pbOutput

Adresse d’une mémoire tampon qui reçoit la valeur de la propriété. Le paramètre cbOutput contient la taille de cette mémoire tampon.

[in] cbOutput

Taille, en octets, de la mémoire tampon pbOutput .

[out] pcbResult

Pointeur vers une variable ULONG qui reçoit le nombre d’octets qui ont été copiés dans la mémoire tampon pbOutput . Si le paramètre pbOutput est NULL, cette fonction place la taille requise, en octets, dans l’emplacement vers lequel pointe ce paramètre.

[in] dwFlags

Ensemble d’indicateurs qui modifient le comportement de cette fonction. Aucun indicateur n’est défini pour cette fonction.

Ce paramètre doit être défini sur zéro pour ML-KEM.

Valeur retournée

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 :

Code de retour Descriptif
STATUS_SUCCESS La fonction a réussi.
STATUS_BUFFER_TOO_SMALL La taille de la mémoire tampon spécifiée par le paramètre cbOutput n’est pas suffisamment grande pour contenir la valeur de la propriété.
STATUS_INVALID_HANDLE Le handle dans le paramètre hObject n’est pas valide.
STATUS_INVALID_PARAMETER Un ou plusieurs paramètres ne sont pas valides.
STATUS_NOT_SUPPORTED La propriété spécifiée par le paramètre pszProperty n’est pas prise en charge.

Remarques

Pour obtenir la taille requise pour une propriété, passez NULL le paramètre pbOutput . Cette fonction place la taille requise, en octets, dans la valeur pointée par le paramètre cciResult .

Selon les modes processeur pris en charge par un fournisseur, BCryptGetProperty peut être appelé en mode utilisateur ou en mode noyau. Les appelants en mode noyau peuvent s’exécuter à PASSIVE_LEVELIRQL ou DISPATCH_LEVEL IRQL. Si le niveau IRQL actuel est DISPATCH_LEVEL, tous les pointeurs passés à la fonction BCryptGetProperty doivent faire référence à la mémoire non paginée (ou verrouillée). Si l’objet spécifié dans le paramètre hObject est un handle, il doit avoir été ouvert à l’aide de l’indicateur de BCRYPT_PROV_DISPATCH .

La propriété BCRYPT_PARAMETER_SET_NAME doit être définie sur les clés BCrypt ML-DSA avant de pouvoir être utilisées. Ces données peuvent être récupérées à partir d’objets clés.

Pour appeler cette fonction en mode noyau, utilisez Cng.lib, qui fait partie du Kit de développement de pilotes (DDK). Windows Server 2008 et Windows Vista : Pour appeler cette fonction en mode noyau, utilisez Ksecdd.lib.

Spécifications

Besoin Valeur
Client minimum requis Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | Applications UWP]
plateforme cible Fenêtres
En-tête bcrypt.h
Bibliothèque Bcrypt.lib
DLL Bcrypt.dll