Función NCryptOpenStorageProvider (ncrypt.h)

La función NCryptOpenStorageProvider carga e inicializa un proveedor de almacenamiento de claves CNG.

Sintaxis

SECURITY_STATUS NCryptOpenStorageProvider(
  [out]          NCRYPT_PROV_HANDLE *phProvider,
  [in, optional] LPCWSTR            pszProviderName,
  [in]           DWORD              dwFlags
);

Parámetros

[out] phProvider

Puntero a una variable NCRYPT_PROV_HANDLE que recibe el identificador del proveedor. Cuando haya terminado de usar este identificador, suéltelo pasando a la función NCryptFreeObject .

[in, optional] pszProviderName

Puntero a una cadena Unicode terminada en null que identifica el proveedor de almacenamiento de claves que se va a cargar. Este es el alias registrado del proveedor de almacenamiento de claves. Este parámetro es opcional y puede ser NULL. Si este parámetro es NULL, se carga el proveedor de almacenamiento de claves predeterminado. Los valores siguientes identifican los proveedores de almacenamiento de claves integrados.

Valor Significado
MS_KEY_STORAGE_PROVIDER
L"Proveedor de almacenamiento de claves de software de Microsoft"
Identifica el proveedor de almacenamiento de claves de software proporcionado por Microsoft.
MS_SMART_CARD_KEY_STORAGE_PROVIDER
L"Proveedor de almacenamiento de claves de tarjeta inteligente de Microsoft"
Identifica el proveedor de almacenamiento de claves de tarjeta inteligente proporcionado por Microsoft.
MS_PLATFORM_CRYPTO_PROVIDER
L"Proveedor criptográfico de la plataforma microsoft"
Identifica el proveedor de almacenamiento de claves de TPM proporcionado por Microsoft.

[in] dwFlags

Marcas que modifican el comportamiento de la función. No se definen marcas para esta función.

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
La función se realizó correctamente.
NTE_BAD_FLAGS
El parámetro dwFlags contiene una o varias marcas que no se admiten.
NTE_INVALID_PARAMETER
Uno o más parámetros no son válidos.
NTE_NO_MEMORY
Error de asignación de memoria.

Comentarios

En caso de que se devuelva una condición de error, el proveedor se habrá descargado de la memoria. No se debe llamar a las funciones del proveedor después de que se devuelva un error de error.

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