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


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 в расположении стека ввода-вывода указывает размер в байтах буфера параметров, который должен быть больше или равен размеру(STORAGE_HOTPLUG_INFO).

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

Драйвер возвращает данные конфигурации hotplug в структуре 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 (include Ntddstor.h)

См. также

IOCTL_STORAGE_GET_HOTPLUG_INFO

STORAGE_HOTPLUG_INFO