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 |
---|---|
|
La fonction a réussi. |
|
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é. |
|
Le handle dans le paramètre hObject n’est pas valide. |
|
Un ou plusieurs paramètres ne sont pas valides. |
|
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 |