Función BCryptQueryProviderRegistration (bcrypt.h)

La función BCryptQueryProviderRegistration recupera información sobre un proveedor de CNG.

Sintaxis

NTSTATUS BCryptQueryProviderRegistration(
  [in]      LPCWSTR             pszProvider,
  [in]      ULONG               dwMode,
  [in]      ULONG               dwInterface,
  [in, out] ULONG               *pcbBuffer,
  [in, out] PCRYPT_PROVIDER_REG *ppBuffer
);

Parámetros

[in] pszProvider

Puntero a una cadena Unicode terminada en null que contiene el nombre del proveedor para obtener información sobre.

[in] dwMode

Especifica el tipo de información que se va a recuperar. Puede ser uno de los valores siguientes.

Valor Significado
CRYPT_ANY
Recupere cualquier información para el proveedor.
CRYPT_UM
Recupere la información del modo de usuario para el proveedor.
CRYPT_KM
Recupere la información del modo kernel del proveedor.
CRYPT_MM
Recupere la información del modo de usuario y del modo kernel del proveedor.

[in] dwInterface

Especifica la interfaz para la que se va a recuperar información. Puede ser uno de los valores siguientes.

Valor Significado
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Recupere la interfaz de cifrado asimétrico.
BCRYPT_CIPHER_INTERFACE
Recupere la interfaz de cifrado.
BCRYPT_HASH_INTERFACE
Recupere la interfaz hash.
NCRYPT_KEY_STORAGE_INTERFACE
Recupere la interfaz de almacenamiento de claves.
BCRYPT_RNG_INTERFACE
Recupere la interfaz del generador de números aleatorios.
NCRYPT_SCHANNEL_INTERFACE
Recupere la interfaz Schannel.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Recupere la interfaz del contrato secreto.
BCRYPT_SIGNATURE_INTERFACE
Recupere la interfaz de firma.

[in, out] pcbBuffer

Puntero a un valor de ULONG que, en la entrada, contiene el tamaño, en bytes, del búfer al que apunta el parámetro ppBuffer . Al salir, este valor recibe el número de bytes copiados en el búfer o el tamaño necesario, en bytes, del búfer.

Nota Este es el tamaño total, en bytes, de todo el búfer, no solo el tamaño de la estructura CRYPT_PROVIDER_REG . El búfer debe ser capaz de contener otros datos para los proveedores además de la estructura de CRYPT_PROVIDER_REG .
 

[in, out] ppBuffer

Puntero a un puntero de búfer que recibe una estructura de CRYPT_PROVIDER_REG y otros datos que describen el proveedor.

Si este parámetro es NULL, esta función devolverá STATUS_BUFFER_TOO_SMALL y colocará en el valor al que apunta el parámetro pcbBuffer , el tamaño necesario, en bytes, de todos los datos.

Si este parámetro es la dirección de un puntero NULL , esta función asignará la memoria necesaria, la rellenará con la información del proveedor y colocará un puntero a esta memoria en este parámetro. Cuando haya terminado de usar esta memoria, libere este puntero a la función BCryptFreeBuffer .

Si este parámetro es la dirección de un puntero distinto de NULL , esta función copiará la información del proveedor en este búfer. El parámetro pcbBuffer debe contener el tamaño, en bytes, de todo el búfer. Si el búfer no es lo suficientemente grande como para contener toda la información del proveedor, esta función devolverá STATUS_BUFFER_TOO_SMALL.

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_INVALID_PARAMETER
Uno o más parámetros no son válidos.
STATUS_BUFFER_TOO_SMALL
El tamaño especificado por el parámetro pcbBuffer no es lo suficientemente grande como para contener todos los datos.
STATUS_NOT_FOUND
No se encontró ningún proveedor que coincida con los criterios especificados.

Comentarios

Solo se puede llamar a BCryptQueryProviderRegistration en modo de usuario.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado bcrypt.h
Library Bcrypt.lib
Archivo DLL Bcrypt.dll

Consulte también

BCryptFreeBuffer

CRYPT_PROVIDER_REG