Função BCryptQueryContextFunctionConfiguration (bcrypt.h)

[BCryptQueryContextFunctionConfiguration está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes.]

A função BCryptQueryContextFunctionConfiguration obtém as informações de configuração de função criptográfica para um contexto CNG existente.

Sintaxe

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 a tabela de configuração na qual o contexto existe. Esse pode ser um dos valores a seguir.

Valor Significado
CRYPT_LOCAL
O contexto existe na tabela de configuração do computador local.
CRYPT_DOMAIN
Esse valor não está disponível para uso.

[in] pszContext

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o identificador do contexto para o qual obter as informações de configuração da função.

[in] dwInterface

Identifica a interface criptográfica para a qual obter as informações de configuração de função. Esse pode ser um dos valores a seguir.

Valor Significado
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Obtenha as informações de configuração de função da lista de funções de criptografia assimétricas.
BCRYPT_CIPHER_INTERFACE
Obtenha as informações de configuração de função da lista de funções de criptografia.
BCRYPT_HASH_INTERFACE
Obtenha as informações de configuração de função da lista de funções de hash.
BCRYPT_RNG_INTERFACE
Obtenha as informações de configuração de função da lista de funções geradoras de números aleatórios.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Obtenha as informações de configuração de função da lista de funções de contrato secreto.
BCRYPT_SIGNATURE_INTERFACE
Obtenha as informações de configuração de função da lista de funções de assinatura.
NCRYPT_KEY_STORAGE_INTERFACE
Obtenha as informações de configuração de função da lista de funções de armazenamento de chaves.
NCRYPT_SCHANNEL_INTERFACE
Obtenha as informações de configuração de função da lista de funções Schannel.

[in] pszFunction

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o identificador da função criptográfica para a qual obter as informações de configuração.

[in, out] pcbBuffer

O endereço de uma variável ULONG que, na entrada, contém o tamanho, em bytes, do buffer apontado por ppBuffer. Se esse tamanho não for grande o suficiente para manter as informações de contexto, essa função falhará com STATUS_BUFFER_TOO_SMALL.

Depois que essa função retorna, essa variável contém o número de bytes que foram copiados para o buffer ppBuffer .

[in, out] ppBuffer

O endereço de um ponteiro para uma estrutura CRYPT_CONTEXT_FUNCTION_CONFIG que recebe as informações de configuração de função recuperadas por essa função. O valor apontado pelo parâmetro pcbBuffer contém o tamanho desse buffer.

Se o valor apontado por esse parâmetro for NULL, essa função alocará a memória necessária. Essa memória deve ser liberada quando não for mais necessária passando esse ponteiro para a função BCryptFreeBuffer .

Se esse parâmetro for NULL, essa função colocará o tamanho necessário, em bytes, na variável apontada pelo parâmetro pcbBuffer e retornará STATUS_BUFFER_TOO_SMALL.

Para obter mais informações sobre o uso desse parâmetro, consulte Comentários.

Retornar valor

Retorna um código status que indica o êxito ou a falha da função.

Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.

Código de retorno Descrição
STATUS_SUCCESS
A função foi bem-sucedida.
STATUS_BUFFER_TOO_SMALL
O parâmetro ppBuffer não é NULL e o valor apontado pelo parâmetro pcbBuffer não é grande o suficiente para manter o conjunto de contextos.
STATUS_INVALID_PARAMETER
Um ou mais dos parâmetros não são válidos.
STATUS_NO_MEMORY
Ocorreu uma falha de alocação de memória.
STATUS_NOT_FOUND
Não foi possível encontrar o contexto ou a função especificada.

Comentários

Cada função criptográfica tem apenas um conjunto de informações de configuração, portanto, embora o parâmetro ppBuffer pareça ser um usado como uma matriz, essa função trata isso como uma matriz com apenas um elemento. O exemplo a seguir ajuda a esclarecer como esse parâmetro é usado.

// 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 só pode ser chamado no modo de usuário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho bcrypt.h
Biblioteca Bcrypt.lib
DLL Bcrypt.dll

Confira também

CRYPT_CONTEXT_FUNCTION_CONFIG