Поделиться через


Функция обратного вызова PFNCryptStreamOutputCallback (ncryptprotect.h)

Функция PFNCryptStreamOutputCallback получает зашифрованные или расшифрованные данные из задач, запущенных с помощью функций NCryptStreamOpenToProtect или NCryptStreamOpenToUnprotect . Этот обратный вызов должен быть определен приложением с помощью следующего синтаксиса.

Синтаксис

PFNCryptStreamOutputCallback Pfncryptstreamoutputcallback;

SECURITY_STATUS Pfncryptstreamoutputcallback(
  [in] void *pvCallbackCtxt,
  [in] const BYTE *pbData,
       SIZE_T cbData,
       BOOL fFinal
)
{...}

Параметры

[in] pvCallbackCtxt

Указатель на данные, которые можно использовать для отслеживания приложения. Данные не изменяются API защиты данных.

Примечание Вы можете задать указатель на данные контекста в элементе pvCallbackCtxt структуры NCRYPT_PROTECT_STREAM_INFO перед передачей указателя на эту структуру в параметре pStreamInfo функций NCryptStreamOpenToProtect или NCryptStreamOpenToUnprotect .
 

[in] pbData

Указатель на блок обработанных данных, который может использоваться приложением.

cbData

Размер обработанных данных в байтах, на который указывает параметр pbData .

fFinal

Если это значение равно TRUE, текущий блок данных является последним, который будет обрабатываться, и это последний раз, когда будет вызываться обратный вызов.

Возвращаемое значение

Если из реализации этой функции обратного вызова возвращается какой-либо код состояния, отличный от ERROR_SUCCESS , процесс шифрования или расшифровки потока завершится ошибкой.

Код возврата Описание
ERROR_SUCCESS
Функция выполнена успешно.

Комментарии

Установите указатель на эту функцию обратного вызова в элементе pfnStreamOutput структуры NCRYPT_PROTECT_STREAM_INFO . Задайте указатель на структуру в параметре pStreamInfo функций NCryptStreamOpenToProtect или NCryptStreamOpenToUnprotect .

Этот обратный вызов можно использовать для дальнейшей обработки зашифрованных или расшифрованных данных. Часто функция используется для записи данных на диск по мере их получения от API защиты данных. Блоки зашифрованных или незашифрованных данных создаются функцией NCryptStreamUpdate .

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header ncryptprotect.h

См. также раздел

Функции DPAPI CNG

NCRYPT_PROTECT_STREAM_INFO

NCryptStreamOpenToProtect

NCryptStreamOpenToUnprotect

NCryptStreamUpdate