Erstellen einer Sicherungsanwendung
Um Eingaben oder Ausgaben auf einem Band durchzuführen, muss eine Sicherungsanwendung zuerst einen Zugriff auf das Bandgerät erhalten. 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 sie zu durchlaufen. Jedes Mal, wenn eine Datei gefunden wird, sollte die Anwendung die Dateiattribute mithilfe der GetFileAttributes--Funktion abrufen.
Wenn feste Verknüpfungen vorhanden sind, sollte eine Anwendung die Anzahl der Verknüpfungen 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 im Puffer zu übertragen, die von BackupRead auf das Band verwendet werden. Wenn eine Datei das zweite Mal gefunden wird (auf die Tabelle der Dateibezeichner überprüft wird, wenn feste Verknüpfungen vorhanden sind), kann die Anwendung die allgemeinen Dateiinformationen in das Band schreiben, gefolgt von einem Datenstrom mit einem Bezeichner, der BACKUP_LINK ist.
Beim Wiederherstellen von Dateien von Band auf Datenträger muss eine Anwendung die Funktionen CreateFile, BackupWriteund 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 aus dem Band in den Puffer gelesen werden, der von BackupWritegefüllt wird.
Wenn einer der Datenströme im BackupWrite Puffer über einen BACKUP_LINK Datenstrombezeichner verfügt, muss die Anwendung eine feste Verknüpfung 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 zu wiederherstellenden Dateidaten an einem anderen Speicherort befinden.