共用方式為


IOCTL_DISK_GET_DRIVE_LAYOUT_EX IOCTL (ntdddisk.h)

傳回磁碟上每個磁碟分區的磁碟分區數目、磁碟簽章和功能的相關信息。 (Floppy 驅動程式不需要處理此要求。)

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

無。

輸入緩衝區長度

無。

輸出緩衝區

驅動程式會在 Irp-AssociatedIrp.SystemBuffer> 的緩衝區中傳回DRIVE_LAYOUT_INFORMATION_EX數據。

輸出緩衝區長度

IRP I/O 堆棧位置中的 Parameters.DeviceIoControl.OutputBufferLength 表示緩衝區的大小,以位元組為單位,這必須是 >= sizeof (DRIVE_LAYOUT_INFORMATION_EX) 。 請注意,這個結構包含 PARTITION_INFORMATION_EX 專案的可變大小數位。

若要判斷所需的輸出緩衝區大小,呼叫端應該在迴圈中傳送此 IOCTL 要求。 每次儲存堆疊拒絕 IOCTL 時,出現錯誤訊息,指出緩衝區太小,呼叫端應該將緩衝區大小加倍。

狀態區塊

[資訊] 位元位會設定為所傳回數據的大小,以位元組為單位。 [ 狀態 ] 欄位可以設定為 [STATUS_SUCCESS],或可能設定為 [STATUS_INFO_LENGTH_MISMATCH]、[STATUS_INSUFFICIENT_RESOURCES] 或 [STATUS_BUFFER_TOO_SMALL]。

規格需求

需求
標頭 ntdddisk.h (包含 Ntdddisk.h)

另請參閱

DRIVE_LAYOUT_INFORMATION

PARTITION_INFORMATION

PARTITION_INFORMATION_EX