Compartir a través de


Función BCryptGetProperty (bcrypt.h)

La función BCryptGetProperty recupera el valor de una propiedad con nombre para un objeto CNG.

Sintaxis

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

Parámetros

[in] hObject

Identificador que representa el objeto CNG para el que se va a obtener el valor de propiedad.

[in] pszProperty

Puntero a una cadena Unicode terminada en null que contiene el nombre de la propiedad que se va a recuperar. Puede ser uno de los identificadores de propiedad primitivos criptográficos predefinidos o un identificador de propiedad personalizado.

[out] pbOutput

Dirección de un búfer que recibe el valor de propiedad. El parámetro cbOutput contiene el tamaño de este búfer.

[in] cbOutput

Tamaño, en bytes, del búfer pbOutput .

[out] pcbResult

Puntero a una variable ULONG que recibe el número de bytes que se copiaron en el búfer pbOutput . Si el parámetro pbOutput es NULL, esta función colocará el tamaño necesario, en bytes, en la ubicación a la que apunta este parámetro.

[in] dwFlags

Conjunto de marcas que modifican el comportamiento de esta función. No se definen marcas para esta función.

Este parámetro debe establecerse en cero para ML-KEM.

Valor devuelto

Devuelve un código de estado que indica el éxito o error de la función.

Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes:

Código de retorno Descripción
STATUS_SUCCESS La función se realizó correctamente.
STATUS_BUFFER_TOO_SMALL El tamaño del búfer especificado por el parámetro cbOutput no es lo suficientemente grande como para contener el valor de la propiedad.
STATUS_INVALID_HANDLE El identificador del parámetro hObject no es válido.
STATUS_INVALID_PARAMETER Uno o varios parámetros no son válidos.
STATUS_NOT_SUPPORTED No se admite la propiedad especificada por el parámetro pszProperty .

Observaciones

Para obtener el tamaño necesario para una propiedad, pase NULL para el parámetro pbOutput . Esta función colocará el tamaño necesario, en bytes, en el valor al que apunta el parámetro pcbResult .

En función de los modos de procesador que admita un proveedor, se puede llamar a BCryptGetProperty desde el modo de usuario o el modo kernel. Los autores de llamadas en modo kernel se pueden ejecutar en PASSIVE_LEVELIRQL o DISPATCH_LEVEL IRQL. Si el nivel IRQL actual es DISPATCH_LEVEL, los punteros pasados a la función BCryptGetProperty deben hacer referencia a la memoria no paginada (o bloqueada). Si el objeto especificado en el parámetro hObject es un identificador, debe haberse abierto mediante la marca BCRYPT_PROV_DISPATCH .

La propiedad BCRYPT_PARAMETER_SET_NAME debe establecerse en BCrypt ML-DSA claves para poder usarlas. Esos datos se pueden recuperar de objetos clave.

Para llamar a esta función en modo kernel, use Cng.lib, que forma parte del Kit de desarrollo de controladores (DDK). Windows Server 2008 y Windows Vista: Para llamar a esta función en modo kernel, use Ksecdd.lib.

Requisitos

Requisito Importancia
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo admitido Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
de la plataforma de destino de Windows
encabezado bcrypt.h
Biblioteca Bcrypt.lib
DLL de Bcrypt.dll