Compartilhar via


Função NCryptEnumAlgorithms (ncrypt.h)

A função NCryptEnumAlgorithms obtém os nomes dos algoritmos compatíveis com o provedor de armazenamento de chaves especificado.

Sintaxe

SECURITY_STATUS NCryptEnumAlgorithms(
  [in]  NCRYPT_PROV_HANDLE  hProvider,
  [in]  DWORD               dwAlgOperations,
  [out] DWORD               *pdwAlgCount,
  [out] NCryptAlgorithmName **ppAlgList,
  [in]  DWORD               dwFlags
);

Parâmetros

[in] hProvider

O identificador do provedor de armazenamento de chaves para o qual enumerar os algoritmos. Esse identificador é obtido com a função NCryptOpenStorageProvider .

[in] dwAlgOperations

Um conjunto de valores que determinam quais classes de algoritmo devem ser enumeradas. Isso pode ser zero ou uma combinação de um ou mais dos valores a seguir. Se dwAlgOperations for zero, todos os algoritmos serão enumerados.

Valor Significado
NCRYPT_CIPHER_OPERATION
0x00000001
Enumerar os algoritmos de criptografia (criptografia simétrica).
NCRYPT_HASH_OPERATION
0x00000002
Enumerar os algoritmos de hash.
NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
0x00000004
Enumerar os algoritmos de criptografia assimétrica.
NCRYPT_SECRET_AGREEMENT_OPERATION
0x00000008
Enumerar os algoritmos de contrato secreto.
NCRYPT_SIGNATURE_OPERATION
0x00000010
Enumerar os algoritmos de assinatura digital.

[out] pdwAlgCount

O endereço de um DWORD que recebe o número de elementos na matriz ppAlgList .

[out] ppAlgList

O endereço de um ponteiro de estrutura NCryptAlgorithmName que recebe uma matriz dos nomes de algoritmo registrados. A variável apontada pelo parâmetro pdwAlgCount recebe o número de elementos nessa matriz.

Quando essa memória não for mais necessária, ela deverá ser liberada passando esse ponteiro para a função NCryptFreeBuffer .

[in] dwFlags

Sinalizadores que modificam o comportamento da função. Isso pode ser zero (0) ou o valor a seguir.

Valor Significado
NCRYPT_SILENT_FLAG
Solicita que o KSP (provedor de serviços de chave) não exiba nenhuma interface do usuário. Se o provedor precisar exibir a interface do usuário para operar, a chamada falhará e o KSP deverá definir o código de erro NTE_SILENT_CONTEXT como o último erro.

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
ERROR_SUCCESS
A função foi bem-sucedida.
NTE_BAD_FLAGS
O parâmetro dwFlags contém um valor que não é válido.
NTE_INVALID_HANDLE
O parâmetro hProvider não é válido.
NTE_INVALID_PARAMETER
Um ou mais dos parâmetros não são válidos.
NTE_NO_MEMORY
Ocorreu uma falha de alocação de memória.

Comentários

Um serviço não deve chamar essa função de sua Função StartService. Se um serviço chamar essa função de sua função StartService, um deadlock poderá ocorrer e o serviço poderá parar de responder.

Requisitos

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