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 predefinidos de propiedad primitiva de criptografía 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.

Valor devuelto

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

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

Código devuelto 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 más parámetros no son válidos.
STATUS_NOT_SUPPORTED
No se admite la propiedad con nombre especificada por el parámetro pszProperty .

Comentarios

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 de IRQL actual está 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 .

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 Value
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado bcrypt.h
Library Bcrypt.lib
Archivo DLL Bcrypt.dll