IOCTL_DISK_GET_DRIVE_LAYOUT_EX IOCTL (ntdddisk.h)
傳回磁碟上每個磁碟分區的磁碟分區數目、磁碟簽章和功能的相關信息。 (Floppy 驅動程式不需要處理此要求。)
主要程序代碼
輸入緩衝區
無。
輸入緩衝區長度
無。
輸出緩衝區
驅動程式會在 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) |