Compartilhar via


Função BCryptQueryProviderRegistration (bcrypt.h)

A função BCryptQueryProviderRegistration recupera informações sobre um provedor CNG.

Sintaxe

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

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o nome do provedor sobre o qual obter informações.

[in] dwMode

Especifica o tipo de informação a ser recuperada. Esse pode ser um dos valores a seguir.

Valor Significado
CRYPT_ANY
Recupere qualquer informação para o provedor.
CRYPT_UM
Recupere as informações do modo de usuário para o provedor.
CRYPT_KM
Recupere as informações do modo kernel para o provedor.
CRYPT_MM
Recupere as informações do modo de usuário e do modo kernel para o provedor.

[in] dwInterface

Especifica a interface para a qual recuperar informações. Esse pode ser um dos valores a seguir.

Valor Significado
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Recupere a interface de criptografia assimétrica.
BCRYPT_CIPHER_INTERFACE
Recupere a interface de criptografia.
BCRYPT_HASH_INTERFACE
Recupere a interface de hash.
NCRYPT_KEY_STORAGE_INTERFACE
Recupere a interface de armazenamento de chaves.
BCRYPT_RNG_INTERFACE
Recupere a interface do gerador de números aleatórios.
NCRYPT_SCHANNEL_INTERFACE
Recupere a interface Schannel.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Recupere a interface do contrato secreto.
BCRYPT_SIGNATURE_INTERFACE
Recupere a interface de assinatura.

[in, out] pcbBuffer

Um ponteiro para um valor ULONG que, na entrada, contém o tamanho, em bytes, do buffer apontado pelo parâmetro ppBuffer . Na saída, esse valor recebe o número de bytes copiados para o buffer ou o tamanho necessário, em bytes, do buffer.

Nota Esse é o tamanho total, em bytes, de todo o buffer, não apenas o tamanho da estrutura CRYPT_PROVIDER_REG . O buffer deve ser capaz de armazenar outros dados para os provedores, além da estrutura CRYPT_PROVIDER_REG .
 

[in, out] ppBuffer

Um ponteiro para um ponteiro de buffer que recebe uma estrutura CRYPT_PROVIDER_REG e outros dados que descrevem o provedor.

Se esse parâmetro for NULL, essa função retornará STATUS_BUFFER_TOO_SMALL e colocará no valor apontado pelo parâmetro pcbBuffer , o tamanho necessário, em bytes, de todos os dados.

Se esse parâmetro for o endereço de um ponteiro NULL , essa função alocará a memória necessária, preencherá-a com as informações do provedor e colocará um ponteiro para essa memória nesse parâmetro. Quando terminar de usar essa memória, libere-a passando esse ponteiro para a função BCryptFreeBuffer .

Se esse parâmetro for o endereço de um ponteiro não NULL , essa função copiará as informações do provedor para esse buffer. O parâmetro pcbBuffer deve conter o tamanho, em bytes, de todo o buffer. Se o buffer não for grande o suficiente para conter todas as informações do provedor, essa função 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_INVALID_PARAMETER
Um ou mais dos parâmetros não são válidos.
STATUS_BUFFER_TOO_SMALL
O tamanho especificado pelo parâmetro pcbBuffer não é grande o suficiente para manter todos os dados.
STATUS_NOT_FOUND
Não foi possível encontrar nenhum provedor que corresponda aos critérios especificados.

Comentários

BCryptQueryProviderRegistration 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

BCryptFreeBuffer

CRYPT_PROVIDER_REG