Поделиться через


IOCTL_DISK_CREATE_DISK IOCTL (ntdddisk.h)

Создает пустую секцию для объекта устройства. Он может работать на диске EFI или на диске MBR. Параметры, необходимые для создания пустого диска, зависят от типа таблицы секций, которая будет помещена на диск. Дополнительные сведения см. в CREATE_DISK.

Драйверы дисков перечисляют секции, как будто они были дочерними устройствами. Таким образом, при создании новой секции драйвер класса диска уведомляет диспетчер PnP с помощью вызова IoInvalidateDeviceRelations, что устройство диска имеет новое дочернее устройство (секцию).

Основной код

IRP_MJ_DEVICE_CONTROL

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

Буфер в Irp->AssociatedIrp.SystemBuffer содержит данные CREATE_DISK.

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

Parameters.DeviceIoControl.InputBufferLength в расположении стека ввода-вывода iRP указывает размер буфера, доступного драйверу, который должен быть >= размер(CREATE_DISK). В противном случае драйвер возвращает состояние ошибки STATUS_INFO_LENGTH_MISMATCH.

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

Никакой.

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

Никакой.

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

Поле сведений равно нулю. Поле состояния имеет значение STATUS_SUCCESS, если операция выполнена успешно. Другие возможные значения состояния: STATUS_NOT_SUPPORTED, если запрошен стиль секции не поддерживается; STATUS_DEVICE_NOT_READY, если драйвер класса не удалось получить геометрию диска; и STATUS_INSUFFICIENT_RESOURCES, если драйвер класса не удалось получить необходимый ресурс, например память кучи.

Требования

Требование Ценность
заголовка ntdddisk.h (include Ntdddisk.h)

См. также

CREATE_DISK