IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL (ntddstor.h)
Задает конфигурацию горячего отключения указанного устройства. Этот запрос принимает STORAGE_HOTPLUG_INFO структуру в качестве входных данных. Элемент DeviceHotplug структуры STORAGE_HOTPLUG_INFO определяет, какое действие выполняется. Если значение этого элемента не равно нулю, для политики удаления устройства в реестре устанавливается значение ExpectSurpriseRemoval , а все уровни кэширования отключаются. Если значение DeviceHotplug равно нулю , для политики удаления устанавливается значение ExpectOrderlyRemoval, и кэширование может быть включено выборочно.
Основной код
Входной буфер
Входной буфер.
Длина входного буфера
Parameters.DeviceIoControl.InputBufferLength в расположении стека ввода-вывода указывает размер буфера параметров в байтах, который должен быть больше или равен sizeof(STORAGE_HOTPLUG_INFO).
Выходной буфер
Драйвер возвращает данные конфигурации горячего отключения в структуре STORAGE_HOTPLUG_INFO в буфере по адресу Irp-AssociatedIrp.SystemBuffer>.
Длина выходного буфера
Длина структуры STORAGE_HOTPLUG_INFO .
Блок состояния
Для поля Состояние задано значение STATUS_SUCCESS или, возможно, STATUS_INFO_LENGTH_MISMATCH, если входной буфер слишком мал. Для него задано значение STATUS_INVALID_PARAMETER_1, если элемент Size STORAGE_HOTPLUG_INFO не соответствует размеру, ожидаемому драйвером класса для этого устройства. Для него задано значение STATUS_INVALID_PARAMETER_2, если элемент MediaRemoveable имеет значение, отличное от значения, удерживаемого драйвером класса. Ему присваивается значение STATUS_INVALID_PARAMETER_3, если элемент MediaHotplug имеет значение, отличное от значения драйвера класса, и имеет значение STATUS_INVALID_PARAMETER_5, если элемент WriteCacheEnableOverride имеет значение, отличное от значения драйвера класса.
Требования
Требование | Значение |
---|---|
Заголовок | ntddstor.h (включая Ntddstor.h) |