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


IOCTL_DISK_GROW_PARTITION IOCTL (ntdddisk.h)

Увеличивает размер существующей секции. Он используется в сочетании с IOCTL_DISK_UPDATE_DRIVE_SIZE для расширения диска, чтобы он содержал новую свободную область, а затем для расширения существующего раздела на диске до вновь подключенного свободного пространства. Он принимает структуру DISK_GROW_PARTITION в качестве единственного параметра. Чтобы эта операция работала, пространство после указанной секции должно быть свободным. Секция не может быть расширена на другую существующую секцию.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Буфер в Irp-AssociatedIrp.SystemBuffer> содержит DISK_GROW_PARTITION значения, которые будут использоваться для увеличения размера секции.

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

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

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

Нет.

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

Нет.

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

Для поля Состояние задано значение STATUS_SUCCESS или, возможно, STATUS_BUFFER_TOO_SMALL, STATUS_INVALID_PARAMETER, STATUS_UNSUCCESSFUL или STATUS_DRIVER_INTERNAL_ERROR.

Требования

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

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

DISK_GROW_PARTITION