Freigeben über


WriteTapemark-Funktion (winbase.h)

Die WriteTapemark-Funktion schreibt eine angegebene Anzahl von Datei-, Setmarkierungen, kurzen Oder langen Dateizeichen auf ein Bandgerät. Diese Bandmarkierungen teilen eine Bandpartition in kleinere Bereiche auf.

Syntax

DWORD WriteTapemark(
  [in] HANDLE hDevice,
  [in] DWORD  dwTapemarkType,
  [in] DWORD  dwTapemarkCount,
  [in] BOOL   bImmediate
);

Parameter

[in] hDevice

Handle für das Gerät, auf dem Bandmarkierungen geschrieben werden sollen. Dieses Handle wird mithilfe der CreateFile-Funktion erstellt.

[in] dwTapemarkType

Typ der zu schreibenden Bandzeichen. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
TAPE_FILEMARKS
1 L
Schreibt die Anzahl von Filemarks, die durch den dwTapemarkCount-Parameter angegeben wird.
TAPE_LONG_FILEMARKS
3L
Schreibt die Anzahl der langen Dateimarkierungen, die von dwTapemarkCount angegeben werden.
TAPE_SETMARKS
0L
Schreibt die Anzahl der von dwTapemarkCount angegebenen Setmarks.
TAPE_SHORT_FILEMARKS
2L
Schreibt die Anzahl der kurzen Filemarks, die von dwTapemarkCount angegeben werden.

[in] dwTapemarkCount

Anzahl der zu schreibenden Bandmarkierungen.

[in] bImmediate

Wenn dieser Parameter TRUE ist, gibt die Funktion sofort zurück. wenn der Wert FALSE ist, gibt die Funktion erst zurück, wenn der Vorgang abgeschlossen wurde.

Rückgabewert

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

Wenn die Funktion fehlschlägt, kann sie einen der folgenden Fehlercodes zurückgeben.

Fehler BESCHREIBUNG
ERROR_BEGINNING_OF_MEDIA
1102L
Ein Versuch, vor dem Anfang des mittleren Markers auf Daten zuzugreifen, ist fehlgeschlagen.
ERROR_BUS_RESET
1111L
Im Bus wurde eine Zurücksetzungsbedingung erkannt.
ERROR_DEVICE_NOT_PARTITIONED
1107L
Die Partitionsinformationen konnten nicht gefunden werden, wenn ein Band geladen wurde.
ERROR_END_OF_MEDIA
1100L
Der Bandendemarker wurde während eines Vorgangs erreicht.
ERROR_FILEMARK_DETECTED
1101L
Während eines Vorgangs wurde ein Filemark erreicht.
ERROR_INVALID_BLOCK_LENGTH
1106L
Die Blockgröße ist auf einem neuen Band in einer mehrvolumen Partition falsch.
ERROR_MEDIA_CHANGED
1110L
Das Band, das sich auf dem Laufwerk befand, wurde ersetzt oder entfernt.
ERROR_NO_DATA_DETECTED
1104L
Der Datenendemarker wurde während eines Vorgangs erreicht.
ERROR_NO_MEDIA_IN_DRIVE
1112L
Das Laufwerk enthält keine Medien.
ERROR_NOT_SUPPORTED
50L
Der Bandtreiber unterstützt keine angeforderte Funktion.
ERROR_PARTITION_FAILURE
1105L
Das Band konnte nicht partitioniert werden.
ERROR_SETMARK_DETECTED
1103L
Während eines Vorgangs wurde ein Setmark erreicht.
ERROR_UNABLE_TO_LOCK_MEDIA
1108L
Fehler beim Versuch, den Auswurfmechanismus zu sperren.
ERROR_UNABLE_TO_UNLOAD_MEDIA
1109L
Fehler beim Entladen des Bandes.
ERROR_WRITE_PROTECT
19L
Das Medium ist schreibgeschützt.

Hinweise

Filemarks, Setmarks, short filemarks und long filemarks sind spezielle aufgezeichnete Elemente, die die lineare organization des Bandes angeben. Keines dieser Markierungen enthält Benutzerdaten. Filemarks sind die allgemeinsten Markierungen; Setmarks stellen eine Hierarchie bereit, die mit Filemarks nicht verfügbar ist.

Ein kurzes Filemark enthält eine kurze Löschlücke, die nicht überschrieben werden kann, es sei denn, der Schreibvorgang wird vom Anfang der Partition oder von einem früheren langen Filemark ausgeführt.

Ein langes Dateizeichen enthält eine lange Löschlücke, die es einer Anwendung ermöglicht, das Band am Anfang des Dateizeichens zu positionieren und das Filemark und die Löschlücke zu überschreiben.

Anforderungen

Anforderung Wert
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)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CreateFile