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 成员中设置指向上下文数据的指针,然后再在 NCryptStreamOpenToProtect 或 NCryptStreamOpenToUnprotect 函数的 pStreamInfo 参数中传递该结构的指针。
[in] pbData
指向应用程序可以使用的已处理数据块的指针。
cbData
pbData 参数指向的已处理数据的大小(以字节为单位)。
fFinal
如果此值为 TRUE,则当前数据块是最后一个要处理的数据块,这是最后一次调用回调。
返回值
如果从此回调函数的实现中返回 除ERROR_SUCCESS 之外的任何状态代码,则流加密或解密过程将失败。
返回代码 | 说明 |
---|---|
|
函数成功。 |
注解
在 NCRYPT_PROTECT_STREAM_INFO 结构的 pfnStreamOutput 成员中设置指向此回调函数的指针。 设置指向 NCryptStreamOpenToProtect 或 NCryptStreamOpenToUnprotect 函数的 pStreamInfo 参数中的 结构的指针。
可以使用此回调进一步处理加密或解密的数据。 函数的常见用途是从数据保护 API 接收数据时将数据写入磁盘。 已加密或未加密数据的块由 NCryptStreamUpdate 函数创建。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | ncryptprotect.h |