Share via


Erstellen einer Sicherungsanwendung

Um die Eingabe oder Ausgabe auf einem Band auszuführen, muss eine Sicherungsanwendung zuerst einen Handle des Bandgeräts abrufen. Im folgenden Codebeispiel wird gezeigt, wie Sie die CreateFile-Funktion verwenden, um ein Bandgerät zu öffnen.

HANDLE hTape;   // handle to tape device
 
hTape = CreateFile(TEXT("\\\\.\\TAPE0"),         // tape dev to open
                   GENERIC_READ | GENERIC_WRITE, // read/write access
                   0,                            // not used
                   0,                            // not used
                   OPEN_EXISTING,                // req for tape devs
                   0,                            // not used
                   NULL);                        // not used

Um eine Verzeichnisstruktur auf einem Band zu sichern, muss eine Anwendung die Funktionen FindFirstFile und FindNextFile verwenden, um die Verzeichnisstruktur zu durchlaufen. Jedes Mal, wenn eine Datei gefunden wird, sollte die Anwendung die Dateiattribute mithilfe der GetFileAttributes-Funktion abrufen.

Wenn feste Links vorhanden sind, sollte eine Anwendung die Anzahl der Links bestimmen und den eindeutigen Bezeichner der Datei in einer Tabelle für zukünftige Vergleiche speichern. Wenn eine Datei zum ersten Mal gefunden wird, sollte die Anwendung CreateFile verwenden, um die Datei zu öffnen, und die BackupRead-Funktion , um die Sicherung zu starten. Anschließend kann die WriteFile-Funktion wiederholt verwendet werden, um alle Informationen in dem von BackupRead verwendeten Puffer auf das Band zu übertragen. Wenn eine Datei zum zweiten Mal gefunden wird (mit der Tabelle der Dateibezeichner überprüft wird, wenn Hardlinks vorhanden sind), kann die Anwendung die allgemeinen Dateiinformationen auf das Band schreiben, gefolgt von einem Stream mit einem Bezeichner, der BACKUP_LINK ist.

Beim Wiederherstellen von Dateien von Band auf Datenträger muss eine Anwendung die Funktionen CreateFile, BackupWrite und ReadFile verwenden. Für jede Datei auf einem Band sollte die Anwendung CreateFile verwenden, um eine neue Datei auf dem Datenträger zu erstellen, und BackupWrite , um mit der Wiederherstellung der Datei zu beginnen. Anschließend sollte die Anwendung ReadFile wiederholt verwenden, bis alle Informationen für die Datei vom Band in den von BackupWrite gefüllten Puffer gelesen werden.

Wenn einer der Streams im BackupWrite-Puffer über einen BACKUP_LINK Streambezeichner verfügt, muss die Anwendung eine feste Verbindung herstellen. Wenn die zum Herstellen der Verknüpfung erforderlichen Daten nicht vorhanden sind, schlägt BackupWrite fehl. Die Anwendung kann einen bereits vorhandenen Katalog verwenden, um die ursprünglichen Daten zu suchen und wiederherzustellen, oder sie kann den Benutzer benachrichtigen, dass sich die wiederherzustellenden Dateidaten an einem anderen Speicherort befinden.