IOCTL_VOLUME_LOGICAL_TO_PHYSICAL IOCTL (ntddvol.h)
Gibt physische Offsets und Physische Datenträgernummern für einen bestimmten logischen Volumeoffset zurück.
Beispielsweise entspricht ein logischer Volumeoffset innerhalb eines gespiegelten Volumes mit zwei Plexs zwei physischen Offsets, eines in jedem der beiden Datenträger, die am Spiegel teilnehmen. Als Reaktion auf diese IOCTL gibt der Volume-Manager zwei physische Offsets und zwei physische Datenträgernummern für den logischen Volumeoffset zurück.
Der Volume-Manager unterstützt diese IOCTL für alle Typen von einfachen und dynamischen Volumes.
Hauptcode
Eingabepuffer
Der Aufrufer fügt die VOLUME_LOGICAL_OFFSET-Struktur ein, die den logischen Offset am Anfang des Puffers bei Irp-AssociatedIrp.SystemBuffer> enthält.
Länge des Eingabepuffers
Parameters.DeviceIoControl.InputBufferLength in der E/A-Stapelposition des IRP gibt die Größe des Eingabepuffers in Bytes an, die größer oder gleich dem Wert von sizeof(VOLUME_LOGICAL_OFFSET) sein muss.Ausgabepuffer
Die Größe des Ausgabepuffers muss groß genug sein, um die Struktur VOLUME_PHYSICAL_OFFSETS zu enthalten, die ein Array mit variabler Länge von Strukturen vom Typ VOLUME_PHYSICAL_OFFSET enthält.
Der Volume-Manager gibt einen oder mehrere physische Offsets und Datenträgernummern in der VOLUME_PHYSICAL_OFFSETS-Struktur am Anfang des Puffers unter Irp-AssociatedIrp.SystemBuffer> zurück.
Länge des Ausgabepuffers
Parameters.DeviceIoControl.OutputBufferLength in der E/A-Stapelposition des IRP gibt die Größe des Ausgabepuffers in Bytes an.
Statusblock
Wenn der Vorgang erfolgreich ist, wird der Status-Member auf STATUS_SUCCESS festgelegt. Andernfalls wird das Status-Element auf den entsprechenden Fehlercode festgelegt. Mögliche Fehlercodes sind:
STATUS_BUFFER_TOO_SMALL
Der Ausgabepuffer ist zu klein. Der Volume-Manager legt den Irp-IoStatus.Information-Member> auf die Größe des Ausgabepuffers fest, den der Aufrufer bereitgestellt haben sollte.
STATUS_INVALID_PARAMETER
Der Eingabepuffer ist zu klein.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows XP. |
Kopfzeile | ntddvol.h (include Ntddvol.h) |