Función NCryptStreamOpenToUnprotect (ncryptprotect.h)

La función NCryptStreamOpenToUnprotect abre un objeto de flujo que se puede usar para descifrar grandes cantidades de datos en el mismo descriptor de protección que se usa para el cifrado. Llame a NCryptStreamUpdate para realizar el descifrado. Para descifrar mensajes más pequeños, como claves y contraseñas, llame a NCryptUnprotectSecret.

Sintaxis

SECURITY_STATUS NCryptStreamOpenToUnprotect(
  [in]           NCRYPT_PROTECT_STREAM_INFO *pStreamInfo,
                 DWORD                      dwFlags,
  [in, optional] HWND                       hWnd,
  [out]          NCRYPT_STREAM_HANDLE       *phStream
);

Parámetros

[in] pStreamInfo

Puntero a una estructura de NCRYPT_PROTECT_STREAM_INFO que contiene la dirección de una función de devolución de llamada definida por el usuario para recibir los datos descifrados y un puntero a los datos de contexto definidos por el usuario.

dwFlags

Marca que especifica información adicional para el proveedor de servicios clave. Puede ser cero o el valor siguiente.

Valor Significado
NCRYPT_SILENT_FLAG
Solicita que el proveedor de servicios clave no muestre una interfaz de usuario.

[in, optional] hWnd

Controle a la ventana primaria de la interfaz de usuario, si existe, que se va a mostrar.

[out] phStream

Puntero al identificador del flujo de datos descifrado.

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 debe contener cero (0) o NCRYPT_SILENT_FLAG.
NTE_INVALID_PARAMETER
Los parámetros phStream y pStreamInfo no pueden ser NULL.

La función de devolución de llamada a la que apunta el miembro pfnStreamOutput de la estructura de NCRYPT_PROTECT_STREAM_INFO a la que apunta el parámetro pStreamInfo no puede ser NULL.

NTE_NO_MEMORY
No había memoria suficiente para asignar un flujo de datos.

Comentarios

La función NCryptStreamOpenToUnprotect crea un objeto de flujo interno que se puede usar para cifrar mensajes grandes. No puede usar el objeto directamente. En su lugar, debe usar el identificador de objeto devuelto por esta función.

Llame a esta función antes de llamar a la función NCryptStreamUpdate . Si va a cifrar un archivo grande, use NCryptStreamUpdate en un bucle que avanza a través del bloque de archivos por bloque, cifrando cada bloque a medida que avanza y notificando la devolución de llamada cuando finaliza cada bloque. Para obtener más información, vea NCryptStreamUpdate.

La función NCryptStreamOpenToUnprotect recupera la cadena de regla del descriptor de protección sin cifrar del encabezado de secuencia. La cadena de regla se coloca en el encabezado mediante la función NCryptStreamOpenToUnprotect .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ncryptprotect.h
Library NCrypt.lib
Archivo DLL NCrypt.dll

Consulte también

Funciones dpAPI de CNG

NCRYPT_PROTECT_STREAM_INFO

NCryptStreamClose

NCryptStreamOpenToProtect

NCryptStreamUpdate