PFE_IMPORT_FUNC Rückruffunktion (winbase.h)
Eine anwendungsdefinierte Rückruffunktion, die mit WriteEncryptedFileRaw verwendet wird. Das System ruft ImportCallback einmal oder mehrmals auf, um einen Teil der Daten einer Sicherungsdatei abzurufen. ImportCallback liest die Daten sequenziell aus einer Sicherungsdatei und stellt die Daten wieder her, und das System setzt den Aufruf fort, bis alle Sicherungsdateidaten gelesen wurden.
Der PFE_IMPORT_FUNC Typ definiert einen Zeiger auf diese Rückruffunktion. ImportCallback ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.
Syntax
PFE_IMPORT_FUNC PfeImportFunc;
DWORD PfeImportFunc(
[in] PBYTE pbData,
[in, optional] PVOID pvCallbackContext,
[in, out] PULONG ulLength
)
{...}
Parameter
[in] pbData
Ein Zeiger auf einen vom System bereitgestellten Puffer, der einen wiederherzustellenden Datenblock empfängt.
[in, optional] pvCallbackContext
Ein Zeiger auf einen anwendungsdefinierten und zugeordneten Kontextblock. Die Anwendung übergibt diesen Zeiger an WriteEncryptedFileRaw, und sie übergibt diesen Zeiger an die Rückruffunktion, damit die Rückruffunktion Zugriff auf anwendungsspezifische Daten hat. Diese Daten können eine Struktur sein und alle Von der Anwendung benötigten Daten enthalten, z. B. das Handle für die Datei, die die Sicherungskopie der verschlüsselten Datei enthält.
[in, out] ulLength
Für den Funktionseintrag gibt dieser Parameter die Länge des vom System bereitgestellten Puffers an. Die Rückruffunktion darf nicht mehr als diese anzahl Bytes in den Puffer schreiben, auf den der pbData-Parameter verweist.
Beim Beenden muss die Funktion dies auf die Anzahl der Bytes festlegen, die in pbData geschrieben werden.
Rückgabewert
Wenn die Funktion erfolgreich ist, muss sie den Rückgabewert auf ERROR_SUCCESS und den Wert, auf den der ulLength-Parameter verweist, auf die Anzahl der in pbData kopierten Bytes festlegen.
Wenn das Ende der Sicherungsdatei erreicht ist, legen Sie ulLength auf Null fest, um dem System mitzuteilen, dass die gesamte Datei verarbeitet wurde.
Wenn die Funktion fehlschlägt, legen Sie den Rückgabewert auf einen in WinError.h definierten Fehlercode ungleich null fest. Wenn diese Funktion beispielsweise fehlschlägt, weil eine API, die sie aufruft, fehlschlägt, können Sie den Rückgabewert auf den Wert festlegen, der von GetLastError für die fehlerhafte API zurückgegeben wird.
Hinweise
Das System ruft die ImportCallback-Funktion auf, bis die Rückruffunktion angibt, dass keine daten mehr wiederhergestellt werden müssen. Um anzugeben, dass keine weiteren Daten wiederhergestellt werden sollen, legen Sie *ulLength auf 0 fest, und verwenden Sie den Rückgabecode ERROR_SUCCESS. Sie können den anwendungsdefinierten Kontextblock für die interne Nachverfolgung von Informationen wie dem Dateihandle und dem aktuellen Offset in der Datei verwenden.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (Windows.h einschließen) |