SetTapePosition-Funktion (winbase.h)
Die SetTapePosition-Funktion legt die Bandposition auf dem angegebenen Gerät fest.
Syntax
DWORD SetTapePosition(
[in] HANDLE hDevice,
[in] DWORD dwPositionMethod,
[in] DWORD dwPartition,
[in] DWORD dwOffsetLow,
[in] DWORD dwOffsetHigh,
[in] BOOL bImmediate
);
Parameter
[in] hDevice
Handle an das Gerät, auf dem die Bandposition festgelegt werden soll. Dieses Handle wird mithilfe der CreateFile-Funktion erstellt.
[in] dwPositionMethod
Art der auszuführenden Positionierung. Dieser Parameter muss einen der folgenden Werte aufweisen.
[in] dwPartition
Partitionieren, um innerhalb zu positionieren. Wenn dwPartition 0 ist, wird die aktuelle Partition verwendet. Partitionen werden logisch von 1 bis n nummeriert, wobei 1 die erste Partition auf dem Band und n die letzte ist.
[in] dwOffsetLow
Bits mit niedriger Reihenfolge der Blockadresse oder -anzahl für den durch den dwPositionMethod-Parameter angegebenen Positionsvorgang.
[in] dwOffsetHigh
Hochgeordnete Bits der Blockadresse oder -anzahl für den durch den dwPositionMethod-Parameter angegebenen Positionsvorgang. Wenn die hochgeordneten Bits nicht erforderlich sind, sollte dieser Parameter 0 sein.
[in] bImmediate
Gibt an, ob zurückgegeben werden soll, sobald der Verschiebungsvorgang beginnt. Wenn dieser Parameter TRUE ist, gibt die Funktion sofort zurück. wenn FALSE, wird die Funktion erst zurückgegeben, wenn der Verschiebungsvorgang 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 |
---|---|
|
Ein Versuch, vor dem Beginn der mittleren Markierung auf Daten zuzugreifen, ist fehlgeschlagen. |
|
Auf dem Bus wurde eine Zurücksetzungsbedingung erkannt. |
|
Die Partitionsinformationen konnten beim Laden eines Bandes nicht gefunden werden. |
|
Der Bandendemarker wurde während eines Vorgangs erreicht. |
|
Während eines Vorgangs wurde ein Dateizeichen erreicht. |
|
Die Blockgröße ist auf einem neuen Band in einer mehrvolumen Partition falsch. |
|
Das Band, das sich im Laufwerk befand, wurde ersetzt oder entfernt. |
|
Die Datenendemarkierung wurde während eines Vorgangs erreicht. |
|
Das Laufwerk enthält keine Medien. |
|
Der Bandtreiber unterstützt keine angeforderte Funktion. |
|
Das Band konnte nicht partitioniert werden. |
|
Während eines Vorgangs wurde ein Setmark erreicht. |
|
Fehler beim Versuch, den Auswurfmechanismus zu sperren. |
|
Fehler beim Entladen des Bandes. |
|
Das Medium ist schreibgeschützt. |
Hinweise
Wenn der durch dwOffsetLow und dwOffsetHigh angegebene Offset die Anzahl der zu verschiebenden Blöcke, Datei- oder Setmarkierungen angibt, verschiebt ein positiver Offset das Band bis zum Ende des letzten Blocks, der Letzten Dateimarke oder des letzten Setmarks. Ein negativer Offset verschiebt das Band nach hinten an den Anfang des letzten Blocks, Dateizeichens oder Setmarks. Wenn der Offset 0 ist, wird das Band nicht verschoben.
Rufen Sie die GetTapeParameters-Funktion auf, um Informationen über die status, Funktionen und Kapazitäten von Bandlaufwerken und Medien abzurufen.
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 (einschließlich Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |