Función NCryptEnumAlgorithms (ncrypt.h)

La función NCryptEnumAlgorithms obtiene los nombres de los algoritmos admitidos por el proveedor de almacenamiento de claves especificado.

Sintaxis

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

Parámetros

[in] hProvider

Identificador del proveedor de almacenamiento de claves para el que se enumeran los algoritmos. Este identificador se obtiene con la función NCryptOpenStorageProvider .

[in] dwAlgOperations

Conjunto de valores que determinan qué clases de algoritmo se van a enumerar. Puede ser cero o una combinación de uno o varios de los valores siguientes. Si dwAlgOperations es cero, se enumeran todos los algoritmos.

Valor Significado
NCRYPT_CIPHER_OPERATION
0x00000001
Enumerar los algoritmos de cifrado (cifrado simétrico).
NCRYPT_HASH_OPERATION
0x00000002
Enumerar los algoritmos hash.
NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
0x00000004
Enumerar los algoritmos de cifrado asimétrico.
NCRYPT_SECRET_AGREEMENT_OPERATION
0x00000008
Enumerar los algoritmos de acuerdo secreto.
NCRYPT_SIGNATURE_OPERATION
0x00000010
Enumerar los algoritmos de firma digital.

[out] pdwAlgCount

Dirección de un DWORD que recibe el número de elementos de la matriz ppAlgList .

[out] ppAlgList

Dirección de un puntero de estructura NCryptAlgorithmName que recibe una matriz de los nombres de algoritmo registrados. La variable a la que apunta el parámetro pdwAlgCount recibe el número de elementos de esta matriz.

Cuando esta memoria ya no es necesaria, debe liberarse pasando este puntero a la función NCryptFreeBuffer .

[in] dwFlags

Marcas que modifican el comportamiento de la función. Puede ser cero (0) o el valor siguiente.

Valor Significado
NCRYPT_SILENT_FLAG
Solicita que el proveedor de servicios clave (KSP) no muestre ninguna interfaz de usuario. Si el proveedor debe mostrar la interfaz de usuario para funcionar, se produce un error en la llamada y el KSP debe establecer el código de error NTE_SILENT_CONTEXT como último error.

Valor devuelto

Devuelve un código de estado que indica el éxito o error de la función.

Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes.

Código devuelto Descripción
ERROR_SUCCESS
La función se realizó correctamente.
NTE_BAD_FLAGS
El parámetro dwFlags contiene un valor que no es válido.
NTE_INVALID_HANDLE
El parámetro hProvider no es válido.
NTE_INVALID_PARAMETER
Uno o más parámetros no son válidos.
NTE_NO_MEMORY
Error de asignación de memoria.

Comentarios

Un servicio no debe llamar a esta función desde su función StartService. Si un servicio llama a esta función desde su función StartService, se puede producir un interbloqueo y el servicio puede dejar de responder.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado ncrypt.h
Library Ncrypt.lib
Archivo DLL Ncrypt.dll