Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die DISK_GEOMETRY_EX Struktur ist eine beliebige Struktur, die aus einer DISK_GEOMETRY Struktur besteht, gefolgt von einer DISK_PARTITION_INFO Struktur, gefolgt von einer DISK_DETECTION_INFO Struktur.
Syntax
typedef struct _DISK_GEOMETRY_EX {
DISK_GEOMETRY Geometry;
LARGE_INTEGER DiskSize;
UCHAR Data[1];
} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;
Angehörige
Geometry
Eine Beschreibung dieses Mitglieds finden Sie unter DISK_GEOMETRY.
DiskSize
Enthält die Größe in Byte des Datenträgers.
Data[1]
Beginn des Datenblocks, beginnend mit einer DISK_PARTITION_INFO Struktur gefolgt von einer DISK_DETECTION_INFO Struktur.
Bemerkungen
DISK_GEOMETRY_EX wird in Verbindung mit dem IOCTL_DISK_GET_DRIVE_GEOMETRY_EX und den IOCTL_DISK_GET_MEDIA_TYPES IOCTLs verwendet, um Informationen über die Geometrie eines physischen Datenträgers abzurufen (Medientyp, Anzahl der Zylinder, Spuren pro Zylinder, Sektoren pro Spur und Bytes pro Sektor).
Da sich die Partitions- und Erkennungsinformationen nicht an festen Speicherorten innerhalb der DISK_GEOMETRY_EX-Struktur befinden, stellt ntdddisk.h zwei Makros für den Zugriff auf diese Informationen bereit. Beide Makros verwenden einen Zeiger auf eine Struktur vom Typ DISK_GEOMETRY_EX als Argument:
#if (NTDDI_VERSION < NTDDI_WS03)
#define DiskGeometryGetPartition(Geometry)\
((PDISK_PARTITION_INFO)((Geometry)+1))
#define DiskGeometryGetDetect(Geometry)\
((PDISK_DETECTION_INFO)(((PBYTE)DiskGeometryGetPartition(Geometry)+\
DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))
#else
#define DiskGeometryGetPartition(Geometry)\
((PDISK_PARTITION_INFO)((Geometry)->Data))
#define DiskGeometryGetDetect(Geometry)\
((PDISK_DETECTION_INFO)(((ULONG_PTR)DiskGeometryGetPartition(Geometry)+\
DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))
#endif
Anforderungen
| Anforderung | Wert |
|---|---|
| Header- | ntdddisk.h (include Ntdddisk.h, Ntddk.h, Ntdddisk.h, Ntdddisk.h) |