IOCTL_DISK_GET_DRIVE_LAYOUT IOCTL (ntdddisk.h)

Возвращает сведения о количестве секций, сигнатуре диска и функциях каждой секции на диске. (Драйверы гибких дисков не должны обрабатывать этот запрос.)

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Нет.

Длина входного буфера

Нет.

Выходной буфер

Драйвер возвращает данные DRIVE_LAYOUT_INFORMATION в буфере по адресу Irp-AssociatedIrp.SystemBuffer>.

Длина выходного буфера

Parameters.DeviceIoControl.OutputBufferLength в расположении стека ввода-вывода IRP указывает размер буфера в байтах, который должен иметь >значение = sizeof(DRIVE_LAYOUT_INFORMATION). Обратите внимание, что эта структура содержит массив PARTITION_INFORMATION элементов переменной величины.

Блок состояния

В поле Сведения задается размер возвращаемых данных в байтах. Для поля Состояние можно задать значение STATUS_SUCCESS или, возможно, STATUS_DEVICE_OFF_LINE, STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES или STATUS_BUFFER_TOO_SMALL.

Требования

Требование Значение
Заголовок ntdddisk.h (включая Ntdddisk.h)

См. также раздел

DRIVE_LAYOUT_INFORMATION

PARTITION_INFORMATION