GetTapePosition-Funktion (winbase.h)
Die GetTapePosition-Funktion ruft die aktuelle Adresse des Bandes in logischen oder absoluten Blöcken ab.
Syntax
DWORD GetTapePosition(
[in] HANDLE hDevice,
[in] DWORD dwPositionType,
[out] LPDWORD lpdwPartition,
[out] LPDWORD lpdwOffsetLow,
[out] LPDWORD lpdwOffsetHigh
);
Parameter
[in] hDevice
Handle an das Gerät, auf dem die Bandposition abgerufen werden soll. Dieses Handle wird mithilfe von CreateFile erstellt.
[in] dwPositionType
Typ der abzurufenden Adresse. Dieser Parameter kann einen der folgenden Werte annehmen.
[out] lpdwPartition
Zeiger auf eine Variable, die die Nummer der aktuellen Bandpartition empfängt. Partitionen werden logisch zwischen 1 und n nummeriert, wobei 1 die erste Partition auf dem Band und n die letzte ist. Wenn eine gerätespezifische Blockadresse abgerufen wird oder das Gerät nur eine Partition unterstützt, empfängt dieser Parameter null.
[out] lpdwOffsetLow
Zeiger auf eine Variable, die die Bits in niedriger Reihenfolge der aktuellen Bandposition empfängt.
[out] lpdwOffsetHigh
Zeiger auf eine Variable, die die Bits in hoher Reihenfolge der aktuellen Bandposition empfängt. Dieser Parameter kann NULL sein, wenn die Bits hoher Reihenfolge nicht erforderlich sind.
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.
Fehlercode | BESCHREIBUNG |
---|---|
|
Ein Versuch, vor dem Anfang des mittleren Markers auf Daten zuzugreifen, ist fehlgeschlagen. |
|
Im Bus wurde eine Zurücksetzungsbedingung erkannt. |
|
Die Partitionsinformationen konnten nicht gefunden werden, wenn ein Band geladen wurde. |
|
Der Bandendemarker wurde während eines Vorgangs erreicht. |
|
Während eines Vorgangs wurde ein Filemark erreicht. |
|
Die Blockgröße ist auf einem neuen Band in einer mehrvolumen Partition falsch. |
|
Das Band, das sich auf dem Laufwerk befand, wurde ersetzt oder entfernt. |
|
Der Datenendemarker 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
Eine logische Blockadresse ist relativ zu einer Partition. Die erste logische Blockadresse auf jeder Partition ist null.
Rufen Sie die GetTapeParameters-Funktion auf, um Informationen über die status, Funktionen und Kapazitäten von Bandlaufwerken und Medien zu erhalten.
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 |