Compartilhar via


Função BCryptQueryContextFunctionProperty (bcrypt.h)

A função BCryptQueryContextFunctionProperty obtém o valor de uma propriedade nomeada para uma função criptográfica em um contexto CNG existente.

Sintaxe

NTSTATUS BCryptQueryContextFunctionProperty(
  [in]      ULONG   dwTable,
  [in]      LPCWSTR pszContext,
  [in]      ULONG   dwInterface,
  [in]      LPCWSTR pszFunction,
  [in]      LPCWSTR pszProperty,
  [in, out] ULONG   *pcbValue,
  [in, out] PUCHAR  *ppbValue
);

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 do qual obter a propriedade de função.

[in] dwInterface

Identifica a interface criptográfica na qual a função existe. Esse pode ser um dos valores a seguir.

Valor Significado
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
A função existe na lista de funções de criptografia assimétricas.
BCRYPT_CIPHER_INTERFACE
A função existe na lista de funções de criptografia.
BCRYPT_HASH_INTERFACE
A função existe na lista de funções de hash.
BCRYPT_RNG_INTERFACE
A função existe na lista de funções geradoras de número aleatório.
BCRYPT_SECRET_AGREEMENT_INTERFACE
A função existe na lista de funções de contrato secreto.
BCRYPT_SIGNATURE_INTERFACE
A função existe na lista de funções de assinatura.
NCRYPT_KEY_STORAGE_INTERFACE
A função existe na lista de funções de armazenamento de chaves.
NCRYPT_SCHANNEL_INTERFACE
A função existe na 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 a propriedade.

[in] pszProperty

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o identificador da propriedade a ser obtida.

[in, out] pcbValue

O endereço de uma variável ULONG que, na entrada, contém o tamanho, em bytes, do buffer apontado por ppbValue. Se esse tamanho não for grande o suficiente para manter o valor da propriedade, 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 ppbValue .

[in, out] ppbValue

O endereço de um ponteiro para um buffer que recebe os dados da propriedade. O tamanho e o formato desse buffer dependem do formato da propriedade que está sendo recuperada. O valor apontado pelo parâmetro pcbValue 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 pcbValue e retornará STATUS_BUFFER_TOO_SMALL.

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 ppbValue não é NULL e o valor apontado pelo parâmetro pcbValue 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, a função ou a propriedade especificada.

Comentários

BCryptQueryContextFunctionProperty 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