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 不会修改数据。

注意可以在 NCRYPT_PROTECT_STREAM_INFO 结构的 pvCallbackCtxt 成员中设置指向上下文数据的指针,然后再在 NCryptStreamOpenToProtectNCryptStreamOpenToUnprotect 函数的 pStreamInfo 参数中传递该结构的指针。
 

[in] pbData

指向应用程序可以使用的已处理数据块的指针。

cbData

pbData 参数指向的已处理数据的大小(以字节为单位)。

fFinal

如果此值为 TRUE,则当前数据块是最后一个要处理的数据块,这是最后一次调用回调。

返回值

如果从此回调函数的实现中返回 除ERROR_SUCCESS 之外的任何状态代码,则流加密或解密过程将失败。

返回代码 说明
ERROR_SUCCESS
函数成功。

注解

NCRYPT_PROTECT_STREAM_INFO 结构的 pfnStreamOutput 成员中设置指向此回调函数的指针。 设置指向 NCryptStreamOpenToProtectNCryptStreamOpenToUnprotect 函数的 pStreamInfo 参数中的 结构的指针。

可以使用此回调进一步处理加密或解密的数据。 函数的常见用途是从数据保护 API 接收数据时将数据写入磁盘。 已加密或未加密数据的块由 NCryptStreamUpdate 函数创建。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 ncryptprotect.h

另请参阅

CNG DPAPI 函数

NCRYPT_PROTECT_STREAM_INFO

NCryptStreamOpenToProtect

NCryptStreamOpenToUnprotect

NCryptStreamUpdate