Função BCryptResolveProviders (bcrypt.h)
A função BCryptResolveProviders obtém uma coleção de todos os provedores que atendem aos critérios especificados.
Sintaxe
NTSTATUS BCryptResolveProviders(
[in, optional] LPCWSTR pszContext,
[in, optional] ULONG dwInterface,
[in, optional] LPCWSTR pszFunction,
[in, optional] LPCWSTR pszProvider,
[in] ULONG dwMode,
[in] ULONG dwFlags,
[in, out] ULONG *pcbBuffer,
[in, out] PCRYPT_PROVIDER_REFS *ppBuffer
);
Parâmetros
[in, optional] pszContext
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o identificador do contexto para o qual obter os provedores. Se isso for definido como NULL ou como uma cadeia de caracteres vazia, o contexto padrão será assumido.
[in, optional] dwInterface
O identificador de uma interface que o provedor deve dar suporte. Esse deve ser um dos Identificadores de Interface CNG. Se o parâmetro pszFunction não for NULL ou uma cadeia de caracteres vazia, você poderá definir dwInterface como zero para forçar a função a inferir a interface.
[in, optional] pszFunction
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o algoritmo ou o identificador de função que o provedor deve dar suporte. Esse pode ser um dos Identificadores de Algoritmo CNG padrão ou o identificador de outro algoritmo registrado. Se dwInterface estiver definido como um valor diferente de zero, pszFunction poderá ser NULL para incluir todos os algoritmos e funções.
[in, optional] pszProvider
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o nome do provedor a ser recuperado. Se esse parâmetro for NULL, todos os provedores serão incluídos.
Esse parâmetro permite que você especifique um provedor específico para recuperar caso mais de um provedor atenda aos outros critérios.
[in] dwMode
Especifica o tipo de provedor a ser recuperado. Esse pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
Recuperar provedores de modo de usuário. |
|
Recuperar provedores de modo kernel. |
|
Recupere o modo de usuário e os provedores de modo kernel. |
[in] dwFlags
Um conjunto de sinalizadores que modificam o comportamento dessa função.
Isso pode ser um zero ou uma combinação de um ou mais dos valores a seguir.
[in, out] pcbBuffer
Um ponteiro para um valor DWORD 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.
[in, out] ppBuffer
O endereço de um ponteiro CRYPT_PROVIDER_REFS que recebe a coleção de provedores que atendem aos critérios especificados.
Se esse parâmetro for NULL, essa função retornará STATUS_SUCCESS 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 memória com as informações sobre os provedores e colocará o 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 |
---|---|
|
A função foi bem-sucedida. |
|
O tamanho especificado pelo parâmetro pcbBuffer não é grande o suficiente para manter todos os dados. |
|
Um ou mais dos parâmetros não são válidos. |
|
Nenhum provedor pôde ser encontrado que atenda a todos os critérios especificados. |
Comentários
BCryptResolveProviders pode ser chamado do modo de usuário ou do modo kernel. Os chamadores do modo kernel devem estar executando em PASSIVE_LEVELIRQL.
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 |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de