Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сопоставляет дефектные блоки с новым расположением на диске. Этот запрос указывает устройству переназначить недопустимый адрес блока хорошему блоку из пула резервных блоков.
Запрос IOCTL_DISK_REASSIGN_BLOCKS_EX позволяет получить большее количество блоков для назначения, чем запрос IOCTL_DISK_REASSIGN_BLOCKS.
Основной код
Входной буфер
Буфер в Irp->AssociatedIrp.SystemBuffer содержит заданные значения REASSIGN_BLOCKS_EX. Обратите внимание, что эта структура содержит массив номеров блоков переменной размера. Это ответственность вызывающего объекта, чтобы убедиться, что массив номеров блоков отсортирован в порядке возрастания.
Длина входного буфера
Parameters.DeviceIoControl.InputBufferLength в расположении стека ввода-вывода iRP указывает размер буфера в байтах, который должен быть >= размер(REASSIGN_BLOCKS_EX).
Выходной буфер
Никакой.
Длина выходного буфера
Никакой.
Блок состояния
Поле сведений равно нулю. Поле состояния можно задать для STATUS_SUCCESS или, возможно, STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES или STATUS_BUFFER_TOO_SMALL.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Доступно начиная с Windows 8. |
| заголовка | ntdddisk.h (include Ntdddisk.h) |