Freigeben über


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

IRP_MJ_DEVICE_CONTROL

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)

Weitere Informationen

IOCTL_VOLUME_PHYSICAL_TO_LOGICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS