IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL (ntddstor.h)

Задает конфигурацию горячего отключения указанного устройства. Этот запрос принимает STORAGE_HOTPLUG_INFO структуру в качестве входных данных. Элемент DeviceHotplug структуры STORAGE_HOTPLUG_INFO определяет, какое действие выполняется. Если значение этого элемента не равно нулю, для политики удаления устройства в реестре устанавливается значение ExpectSurpriseRemoval , а все уровни кэширования отключаются. Если значение DeviceHotplug равно нулю , для политики удаления устанавливается значение ExpectOrderlyRemoval, и кэширование может быть включено выборочно.

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

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)

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

IOCTL_STORAGE_GET_HOTPLUG_INFO

STORAGE_HOTPLUG_INFO