DISK_GEOMETRY_EX 구조체(ntdddisk.h)
DISK_GEOMETRY_EX 구조체는 DISK_GEOMETRY 구조체로 구성된 임의 길이 구조체이고 그 뒤에 DISK_PARTITION_INFO 구조체가 차례로 DISK_DETECTION_INFO 구조체로 구성됩니다.
구문
typedef struct _DISK_GEOMETRY_EX {
DISK_GEOMETRY Geometry;
LARGE_INTEGER DiskSize;
UCHAR Data[1];
} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;
멤버
Geometry
이 멤버에 대한 설명은 DISK_GEOMETRY 참조하세요.
DiskSize
디스크의 크기(바이트)를 포함합니다.
Data[1]
DISK_PARTITION_INFO 구조와 DISK_DETECTION_INFO 구조로 시작하는 데이터 블록의 시작 입니다.
설명
DISK_GEOMETRY_EX 실제 디스크의 기하 도형(미디어 유형, 실린더 수, 실린더당 트랙 수, 트랙당 섹터 및 섹터당 바이트)에 대한 정보를 검색하기 위해 IOCTL_DISK_GET_DRIVE_GEOMETRY_EX 및 IOCTL_DISK_GET_MEDIA_TYPES IOCTL과 함께 사용됩니다.
파티션 및 검색 정보가 DISK_GEOMETRY_EX 구조 내의 고정 위치에 있지 않으므로 ntdddisk.h 는 이 정보에 액세스하기 위한 두 개의 매크로를 제공합니다. 두 매크로 모두 DISK_GEOMETRY_EX 형식의 구조체에 대한 포인터를 인수로 사용합니다.
#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
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntdddisk.h(Ntdddisk.h, Ntddk.h, Ntdddisk.h 포함) |