PFNCryptStreamOutputCallback callback function (ncryptprotect.h)
The PFNCryptStreamOutputCallback function receives encrypted or decrypted data from tasks started by using the NCryptStreamOpenToProtect or NCryptStreamOpenToUnprotect functions. This callback must be defined by your application using the following syntax.
Syntax
PFNCryptStreamOutputCallback Pfncryptstreamoutputcallback;
SECURITY_STATUS Pfncryptstreamoutputcallback(
[in] void *pvCallbackCtxt,
[in] const BYTE *pbData,
SIZE_T cbData,
BOOL fFinal
)
{...}
Parameters
[in] pvCallbackCtxt
Pointer to data that you can use to keep track of your application. The data is not modified by the data protection API.
[in] pbData
Pointer to a block of processed data that can be used by the application.
cbData
The size, in bytes, of the processed data pointed to by the pbData parameter.
fFinal
If this value is TRUE, the current data block is the last to be processed and this is the last time the callback will be called.
Return value
If you return any status code other than ERROR_SUCCESS from your implementation of this callback function, the stream encryption or decryption process will fail.
Return code | Description |
---|---|
|
The function was successful. |
Remarks
Set a pointer to this callback function in the pfnStreamOutput member of the NCRYPT_PROTECT_STREAM_INFO structure. Set a pointer to the structure in the pStreamInfo parameter of the NCryptStreamOpenToProtect or NCryptStreamOpenToUnprotect functions.
You can use this callback to further process the encrypted or decrypted data. A common use of the function is to write the data to disk as it is received from the data protection API. The blocks of encrypted or unencrypted data are created by the NCryptStreamUpdate function.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 [desktop apps only] |
Minimum supported server | Windows Server 2012 [desktop apps only] |
Target Platform | Windows |
Header | ncryptprotect.h |