Freigeben über


PrepareTape-Funktion (winbase.h)

Die PrepareTape-Funktion bereitet das Band vor, auf das zugegriffen oder entfernt werden kann.

Syntax

DWORD PrepareTape(
  [in] HANDLE hDevice,
  [in] DWORD  dwOperation,
  [in] BOOL   bImmediate
);

Parameter

[in] hDevice

Handle an das Gerät, das das Band vorbereitet. Dieses Handle wird mithilfe der CreateFile-Funktion erstellt.

[in] dwOperation

Bandgerätevorbereitung. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
TAPE_FORMAT
5L
Führt ein Low-Level-Format des Bandes aus. Derzeit unterstützt nur das QIC117-Gerät dieses Feature.
TAPE_LOAD
0L
Lädt das Band und verschiebt das Band an den Anfang.
TAPE_LOCK
3L
Sperrt den Bandauswurfmechanismus, damit das Band nicht versehentlich ausgeworfen wird.
TAPE_TENSION
2L
Passt die Spannung an, indem das Band an das Ende des Bandes und zurück an den Anfang verschoben wird. Diese Option wird nicht von allen Geräten unterstützt. Dieser Wert wird ignoriert, wenn er nicht unterstützt wird.
TAPE_UNLOAD
1 L
Verschiebt das Band zum Entfernen vom Gerät an den Anfang. Nach einem erfolgreichen Entladevorgang gibt das Gerät Fehler an Anwendungen zurück, die versuchen, auf das Band zuzugreifen, bis das Band erneut geladen wird.
TAPE_UNLOCK
4L
Entsperrt den Bandauswurfmechanismus.

[in] bImmediate

Wenn dieser Parameter TRUE ist, gibt die Funktion sofort zurück. Wenn false festgelegt ist, wird die Funktion erst zurückgegeben, 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

Einige Bandgeräte unterstützen bestimmte Bandvorgänge nicht. Sehen Sie sich die Dokumentation ihres Bandgeräts an, und verwenden Sie die GetTapeParameters-Funktion , um die Funktionen Ihres Bandgeräts zu ermitteln.

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

Siehe auch

CreateFile

GetTapeParameters