IOCTL_DISK_GROW_PARTITION IOCTL (ntdddisk.h)
Увеличивает размер существующей секции. Он используется в сочетании с IOCTL_DISK_UPDATE_DRIVE_SIZE для расширения диска, чтобы он содержал новую свободную область, а затем для расширения существующего раздела на диске до вновь подключенного свободного пространства. Он принимает структуру DISK_GROW_PARTITION в качестве единственного параметра. Чтобы эта операция работала, пространство после указанной секции должно быть свободным. Секция не может быть расширена на другую существующую секцию.
Основной код
Входной буфер
Буфер в 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) |