Función NCryptIsAlgSupported (ncrypt.h)

La función NCryptIsAlgSupported determina si un proveedor de almacenamiento de claves CNG admite un algoritmo criptográfico específico.

Sintaxis

SECURITY_STATUS NCryptIsAlgSupported(
  [in] NCRYPT_PROV_HANDLE hProvider,
  [in] LPCWSTR            pszAlgId,
  [in] DWORD              dwFlags
);

Parámetros

[in] hProvider

Identificador del proveedor de almacenamiento de claves. Este identificador se obtiene con la función NCryptOpenStorageProvider .

[in] pszAlgId

Puntero a una cadena Unicode terminada en null que identifica el algoritmo criptográfico en cuestión. Puede ser uno de los identificadores de algoritmo CNG estándar o el identificador de otro algoritmo registrado.

[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 posibles códigos de retorno se incluyen, entre otros, los siguientes.

Código devuelto Descripción
ERROR_SUCCESS
El proveedor admite el algoritmo especificado.
NTE_BAD_FLAGS
El parámetro dwFlags contiene una o varias marcas que no se admiten.
NTE_INVALID_HANDLE
El identificador especificado por el parámetro hProvider no es válido.
NTE_INVALID_PARAMETER
Uno o más parámetros no son válidos.
NTE_NOT_SUPPORTED
El proveedor no admite el algoritmo especificado.

Comentarios

Si el proveedor admite el algoritmo, esta función devuelve ERROR_SUCCESS. Si el proveedor no admite el algoritmo y no se produjo ningún otro error, esta función devuelve NTE_NOT_SUPPORTED.

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