WriteEncryptedFileRaw-Funktion (winbase.h)

Stellt verschlüsselte Dateien wieder her (Import). Dies ist eine Gruppe von EFS-Funktionen (Encrypted File System), die sicherungs- und wiederherstellungsfunktionen implementieren und gleichzeitig Dateien im verschlüsselten Zustand beibehalten.

Syntax

DWORD WriteEncryptedFileRaw(
  [in]           PFE_IMPORT_FUNC pfImportCallback,
  [in, optional] PVOID           pvCallbackContext,
  [in]           PVOID           pvContext
);

Parameter

[in] pfImportCallback

Ein Zeiger auf die Importrückruffunktion. Das System ruft die Rückruffunktion mehrmals auf, wobei jedes Mal ein Puffer übergeben wird, der von der Rückruffunktion mit einem Teil der Daten der gesicherten Datei gefüllt wird. Wenn die Rückruffunktion signalisiert, dass die gesamte Datei verarbeitet wurde, teilt sie dem System mit, dass der Wiederherstellungsvorgang abgeschlossen ist. Weitere Informationen finden Sie unter ImportCallback.

[in, optional] pvCallbackContext

Ein Zeiger auf einen anwendungsdefinierten und zugeordneten Kontextblock. Das System übergibt diesen Zeiger als Parameter an die Rückruffunktion, sodass die Rückruffunktion Zugriff auf anwendungsspezifische Daten haben kann. Dies kann 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] pvContext

Ein Zeiger auf einen systemdefinierten Kontextblock. Der Kontextblock wird von der OpenEncryptedFileRaw-Funktion zurückgegeben. Ändern Sie sie nicht.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.

Wenn die Funktion fehlschlägt, gibt sie einen nichtzero-Fehlercode zurück, der in WinError.h definiert ist. Sie können FormatMessage mit dem flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine allgemeine Textbeschreibung des Fehlers abzurufen.

Hinweise

Die wiederhergestellte Datei wird nicht entschlüsselt. es wird im verschlüsselten Zustand wiederhergestellt.

Um eine verschlüsselte Datei zu sichern, rufen Sie OpenEncryptedFileRaw auf, um die Datei zu öffnen. Rufen Sie dann ReadEncryptedFileRaw auf, und übergeben Sie ihr die Adresse einer anwendungsdefinierten Exportrückruffunktion. Das System ruft diese Rückruffunktion mehrmals auf, bis der gesamte Inhalt der Datei gelesen und gesichert wurde. Wenn die Sicherung abgeschlossen ist, rufen Sie CloseEncryptedFileRaw auf, um Ressourcen freizugeben und die Datei zu schließen. Weitere Informationen zum Deklarieren der Exportrückruffunktion finden Sie unter ExportCallback .

Um eine verschlüsselte Datei wiederherzustellen, rufen Sie OpenEncryptedFileRaw auf, und geben Sie CREATE_FOR_IMPORT im ulFlags-Parameter an. Rufen Sie dann WriteEncryptedFileRaw auf, und übergeben Sie ihr die Adresse einer anwendungsdefinierten Importrückruffunktion. Das System ruft diese Rückruffunktion mehrmals auf, bis der gesamte Inhalt der Datei gelesen und wiederhergestellt wurde. Wenn die Wiederherstellung abgeschlossen ist, rufen Sie CloseEncryptedFileRaw auf, um Ressourcen freizugeben und die Datei zu schließen. Weitere Informationen zum Deklarieren der Exportrückruffunktion finden Sie unter ImportCallback .

Wenn es sich bei der Datei um eine Sparsedatei handelt, die von einem Volume mit einer geringeren Größe der Sparse-Zuordnungseinheiten als dem Volume, in dem sie wiederhergestellt wird, gesichert wurde, sind die Sparseblöcke in der Mitte der Datei möglicherweise nicht ordnungsgemäß mit den größeren Blöcken ausgerichtet, und der Funktionsaufruf schlägt fehl und legt einen ERROR_INVALID_PARAMETER letzten Fehlercode fest. Die Größe der Sparsezuordnungseinheiten beträgt entweder 16 Cluster oder 64 KB, je nachdem, welcher Wert kleiner ist.

Diese Funktion ist nur für die Wiederherstellung verschlüsselter Dateien vorgesehen. Informationen zum Wiederherstellen unverschlüsselter Dateien finden Sie unter BackupWrite .

In Windows 8, Windows Server 2012 und höher wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Unterstützt
SMB 3.0-Protokoll (Server Message Block) Ja
SMB 3.0 Transparent Failover (TFO) No
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) No
Dateisystem mit freigegebenen Clustervolumes (CsvFS) No
Robustes Dateisystem (Resilient File System, ReFS) No
 

SMB 3.0 unterstützt EFS für Freigaben mit Continuous Availability-Funktion nicht.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (einschließlich Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll
APIs ext-ms-win-advapi32-encryptedfile-l1-1-0 (in Windows 8 eingeführt)

Weitere Informationen

BackupWrite

CloseEncryptedFileRaw

Dateiverschlüsselung

Dateiverwaltungsfunktionen

ImportCallback

OpenEncryptedFileRaw

ReadEncryptedFileRaw