Share via


Función BCryptQueryContextFunctionConfiguration (bcrypt.h)

[BCryptQueryContextFunctionConfiguration está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores.

La función BCryptQueryContextFunctionConfiguration obtiene la información de configuración de la función criptográfica para un contexto CNG existente.

Sintaxis

NTSTATUS BCryptQueryContextFunctionConfiguration(
  [in]      ULONG                          dwTable,
  [in]      LPCWSTR                        pszContext,
  [in]      ULONG                          dwInterface,
  [in]      LPCWSTR                        pszFunction,
  [in, out] ULONG                          *pcbBuffer,
  [in, out] PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer
);

Parámetros

[in] dwTable

Identifica la tabla de configuración en la que existe el contexto. Puede ser uno de los siguientes valores.

Valor Significado
CRYPT_LOCAL
El contexto existe en la tabla de configuración del equipo local.
CRYPT_DOMAIN
Este valor no está disponible para su uso.

[in] pszContext

Puntero a una cadena Unicode terminada en null que contiene el identificador del contexto para obtener la información de configuración de la función.

[in] dwInterface

Identifica la interfaz criptográfica para la que se obtiene la información de configuración de la función. Puede ser uno de los siguientes valores.

Valor Significado
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Obtenga la información de configuración de la función de la lista de funciones de cifrado asimétrico.
BCRYPT_CIPHER_INTERFACE
Obtenga la información de configuración de la función de la lista de funciones de cifrado.
BCRYPT_HASH_INTERFACE
Obtenga la información de configuración de la función de la lista de funciones hash.
BCRYPT_RNG_INTERFACE
Obtenga la información de configuración de la función de la lista de funciones de generador de números aleatorios.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Obtenga la información de configuración de la función de la lista de funciones de acuerdo secreto.
BCRYPT_SIGNATURE_INTERFACE
Obtenga la información de configuración de la función de la lista de funciones de firma.
NCRYPT_KEY_STORAGE_INTERFACE
Obtenga la información de configuración de la función de la lista de funciones de almacenamiento de claves.
NCRYPT_SCHANNEL_INTERFACE
Obtenga la información de configuración de la función de la lista de funciones de Schannel.

[in] pszFunction

Puntero a una cadena Unicode terminada en null que contiene el identificador de la función criptográfica para obtener la información de configuración.

[in, out] pcbBuffer

La dirección de una variable ULONG que, en la entrada, contiene el tamaño, en bytes, del búfer al que apunta ppBuffer. Si este tamaño no es lo suficientemente grande como para contener la información de contexto, se producirá un error en esta función con STATUS_BUFFER_TOO_SMALL.

Una vez que esta función devuelve, esta variable contiene el número de bytes que se copiaron en el búfer ppBuffer .

[in, out] ppBuffer

Dirección de un puntero a una estructura de CRYPT_CONTEXT_FUNCTION_CONFIG que recibe la información de configuración de la función recuperada por esta función. El valor al que apunta el parámetro pcbBuffer contiene el tamaño de este búfer.

Si el valor al que apunta este parámetro es NULL, esta función asignará la memoria necesaria. Esta memoria debe liberarse cuando ya no sea necesaria pasando este puntero a la función BCryptFreeBuffer .

Si este parámetro es NULL, esta función colocará el tamaño necesario, en bytes, en la variable a la que apunta el parámetro pcbBuffer y devolverá STATUS_BUFFER_TOO_SMALL.

Para obtener más información sobre el uso de este parámetro, vea Comentarios.

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 devuelto Descripción
STATUS_SUCCESS
La función se realizó correctamente.
STATUS_BUFFER_TOO_SMALL
El parámetro ppBuffer no es NULL y el valor al que apunta el parámetro pcbBuffer no es lo suficientemente grande como para contener el conjunto de contextos.
STATUS_INVALID_PARAMETER
Uno o más parámetros no son válidos.
STATUS_NO_MEMORY
Error de asignación de memoria.
STATUS_NOT_FOUND
No se encontró el contexto o la función especificados.

Comentarios

Cada función criptográfica tiene solo un conjunto de información de configuración, por lo que, aunque el parámetro ppBuffer parece ser una matriz, esta función lo trata como una matriz con solo un elemento. En el ejemplo siguiente se explica cómo se usa este parámetro.

// Get the function configuration information.
CRYPT_CONTEXT_FUNCTION_CONFIG FuncConfig;
ULONG uSize = sizeof(FuncConfig);
PCRYPT_CONTEXT_FUNCTION_CONFIG pFuncConfig = &FuncConfig;
status = BCryptQueryContextFunctionConfiguration(
    CRYPT_LOCAL, 
    pszContext, 
    NCRYPT_SCHANNEL_INTERFACE,
    pszFunction,
    &uSize, 
    &pFuncConfig);

BCryptQueryContextFunctionConfiguration solo se puede llamar 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

CRYPT_CONTEXT_FUNCTION_CONFIG