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é primitive 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 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 copiés dans la mémoire tampon pbOutput . Si le paramètre pbOutput a la valeur NULL, cette fonction place la taille requise, en octets, à l’emplacement indiqué par ce paramètre.

[in] dwFlags

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

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
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é nommée spécifiée par le paramètre pszProperty n’est pas prise en charge.

Remarques

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

Selon les modes de processeur pris en charge par un fournisseur, BCryptGetProperty peut être appelé à partir du mode utilisateur ou du 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 BCRYPT_PROV_DISPATCH .

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.

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 bcrypt.h
Bibliothèque Bcrypt.lib
DLL Bcrypt.dll