Partager via


PFE_IMPORT_FUNC fonction de rappel (winbase.h)

Fonction de rappel définie par l’application utilisée avec WriteEncryptedFileRaw. Le système appelle ImportCallback une ou plusieurs fois, chaque fois pour récupérer une partie des données d’un fichier de sauvegarde. ImportCallback lit les données d’un fichier de sauvegarde de manière séquentielle et restaure les données, et le système continue de les appeler jusqu’à ce qu’il ait lu toutes les données du fichier de sauvegarde.

Le type PFE_IMPORT_FUNC définit un pointeur vers cette fonction de rappel. ImportCallback est un espace réservé pour le nom de la fonction définie par l’application.

Syntaxe

PFE_IMPORT_FUNC PfeImportFunc;

DWORD PfeImportFunc(
  [in]           PBYTE pbData,
  [in, optional] PVOID pvCallbackContext,
  [in, out]      PULONG ulLength
)
{...}

Paramètres

[in] pbData

Pointeur vers une mémoire tampon fournie par le système qui recevra un bloc de données à restaurer.

[in, optional] pvCallbackContext

Pointeur vers un bloc de contexte défini par l’application et alloué. L’application transmet ce pointeur à WriteEncryptedFileRaw, et elle transmet ce pointeur à la fonction de rappel afin que la fonction de rappel puisse avoir accès aux données spécifiques à l’application. Ces données peuvent être une structure et contenir toutes les données dont l’application a besoin, telles que le handle du fichier qui contient la copie de sauvegarde du fichier chiffré.

[in, out] ulLength

Lors de l’entrée de fonction, ce paramètre spécifie la longueur de la mémoire tampon fournie par le système. La fonction de rappel ne doit pas écrire plus de ce nombre d’octets dans la mémoire tampon pointée par le paramètre pbData .

À la sortie, la fonction doit définir ce paramètre sur le nombre d’octets de données écrites dans le pbData.

Valeur retournée

Si la fonction réussit, elle doit définir la valeur de retour sur ERROR_SUCCESS et définir la valeur pointée par le paramètre ulLength sur le nombre d’octets copiés dans pbData.

Lorsque la fin du fichier de sauvegarde est atteinte, définissez ulLength sur zéro pour indiquer au système que le fichier entier a été traité.

Si la fonction échoue, définissez la valeur de retour sur un code d’erreur différent de zéro défini dans WinError.h. Par exemple, si cette fonction échoue parce qu’une API qu’elle appelle échoue, vous pouvez définir la valeur de retour sur la valeur retournée par GetLastError pour l’API ayant échoué.

Remarques

Le système appelle la fonction ImportCallback jusqu’à ce que la fonction de rappel indique qu’il n’y a plus de données à restaurer. Pour indiquer qu’il n’y a plus de données à restaurer, définissez *ulLength sur 0 et utilisez un code de retour de ERROR_SUCCESS. Vous pouvez utiliser le bloc de contexte défini par l’application pour le suivi interne d’informations telles que le handle de fichier et le décalage actuel dans le fichier.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)

Voir aussi

CloseEncryptedFileRaw

ExportCallback

Chiffrement de fichiers

Fonctions de gestion des fichiers

OpenEncryptedFileRaw

ReadEncryptedFileRaw

WriteEncryptedFileRaw