Fonction de rappel PFNCryptStreamOutputCallback (ncryptprotect.h)
La fonction PFNCryptStreamOutputCallback reçoit des données chiffrées ou déchiffrées à partir de tâches démarrées à l’aide des fonctions NCryptStreamOpenToProtect ou NCryptStreamOpenToUnprotect . Ce rappel doit être défini par votre application à l’aide de la syntaxe suivante.
Syntaxe
PFNCryptStreamOutputCallback Pfncryptstreamoutputcallback;
SECURITY_STATUS Pfncryptstreamoutputcallback(
[in] void *pvCallbackCtxt,
[in] const BYTE *pbData,
SIZE_T cbData,
BOOL fFinal
)
{...}
Paramètres
[in] pvCallbackCtxt
Pointeur vers les données que vous pouvez utiliser pour effectuer le suivi de votre application. Les données ne sont pas modifiées par l’API de protection des données.
[in] pbData
Pointeur vers un bloc de données traitées qui peuvent être utilisées par l’application.
cbData
Taille, en octets, des données traitées pointées vers le paramètre pbData .
fFinal
Si cette valeur est TRUE, le bloc de données actuel est le dernier à traiter et c’est la dernière fois que le rappel est appelé.
Valeur retournée
Si vous retournez un code status autre que ERROR_SUCCESS à partir de votre implémentation de cette fonction de rappel, le processus de chiffrement ou de déchiffrement du flux échoue.
Code de retour | Description |
---|---|
|
La fonction a réussi. |
Remarques
Définissez un pointeur vers cette fonction de rappel dans le membre pfnStreamOutput de la structure NCRYPT_PROTECT_STREAM_INFO . Définissez un pointeur vers la structure dans le paramètre pStreamInfo des fonctions NCryptStreamOpenToProtect ou NCryptStreamOpenToUnprotect .
Vous pouvez utiliser ce rappel pour traiter davantage les données chiffrées ou déchiffrées. Une utilisation courante de la fonction consiste à écrire les données sur le disque telles qu’elles sont reçues de l’API de protection des données. Les blocs de données chiffrées ou non chiffrées sont créés par la fonction NCryptStreamUpdate .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ncryptprotect.h |