IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION IOCTL (ehstorbandmgmt.h)
Die Standorteigenschaften von Bändern auf einem bandverwalteten Speichergerät werden mit der IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION-Anforderung geändert.
Hauptcode
Eingabepuffer
Der Puffer bei Irp-AssociatedIrp.SystemBuffer> muss eine SET_BAND_LOCATION_PARAMETERS-Struktur gefolgt von den AUTH_KEY- und BAND_LOCATION_INFO-Strukturen enthalten.
Wenn das AuthKeyOffset-Element von SET_BAND_LOCATION_PARAMETERS auf EHSTOR_BANDMGR_NO_KEY festgelegt ist, müssen die Eingabedaten im Systempuffer keine AUTH_KEY-Struktur enthalten.
Eingabepufferlänge
Parameters.DeviceIoControl.InputBufferLength gibt die Größe des Puffers in Bytes an, die mindestens sizeof (SET_BAND_LOCATION_PARAMETERS) + sizeof(AUTH_KEY) + sizeof(BAND_LOCATION_INFO) sein muss.
Ausgabepuffer
Keine.
Länge des Ausgabepuffers
Keine.
Statusblock
Einer der folgenden Werte kann im Feld Status zurückgegeben werden.
Statuswert | BESCHREIBUNG |
---|---|
STATUS_SUCCESS | Die Standorteigenschaften für das Band wurden geändert. |
STATUS_INVALID_DEVICE_REQUEST | Das Speichergerät unterstützt keine Bandverwaltung. |
STATUS_INVALID_BUFFER_SIZE | Die Eingabepuffergröße ist ungültig. |
STATUS_INVALID_PARAMETER | Die Informationen im Eingabepuffer sind ungültig. |
STATUS_NOT_FOUND | Das Band wurde für die angegebenen Auswahlkriterien nicht gefunden. |
STATUS_ACCESS_DENIED | Der angegebene Authentifizierungsschlüssel ist ungültig. |
STATUS_IO_DEVICE_ERROR | Fehler bei der Kommunikation. Das Speichergerät ist möglicherweise nicht mit Sicherheitsprotokollen kompatibel. |
Hinweise
Daten in LBAs, die nach der Größenänderung verbleiben, werden durch den Vorgang nicht geändert. Außerdem ist es nicht erforderlich, die Bereitstellung eines Volumes während eines Größenänderungsvorgangs aufzuheben, wenn der LBA-Bereich, der sich über das Volume erstreckt, nach der Größenänderung innerhalb des Bandes verbleibt.
Die von dieser Anforderung an der Bandtabelle vorgenommenen Änderungen werden auf das Gerät atomar übertragen, bevor die IOCTL-Anforderung abgeschlossen ist. Daher ist es garantiert, dass das Band geändert wird, wenn alle Eigenschaften festgelegt sind, oder dass keine Eigenschaften festgelegt werden, wenn ein System- oder Stromausfall auftritt.
Das BandSize-Element von BAND_LOCATION_INFO muss größer als 0 sein. Diese IOCTL kann die Größe eines Bandes nicht auf 0 ändern, um eine Bandlöschung zu verursachen. Um ein Band zu löschen, wird die IOCTL_EHSTOR_BANDMGMT_DELETE_BAND-Anforderung verwendet.
Wenn BAND_LOCATION_INFO Eigenschaften für das globale Band angibt, muss BandStart auf 0 und BandSize auf –1 festgelegt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8 |
Kopfzeile | ehstorbandmgmt.h (einschließlich EhStorBandMgmt.h) |