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


IOCTL_STORAGE_SET_PROPERTY IOCTL (ntddstor.h)

Драйвер может использовать IOCTL_STORAGE_SET_PROPERTY для задания свойств запоминающего устройства или адаптера.

Примечание

Из-за столкновения определений IOCTL в Windows 10 версии 2004 существующее программное обеспечение, использующее IOCTL_STORAGE_SET_PROPERTY, потребуется перекомпилировать в Windows Server 2022.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Содержит структуру STORAGE_PROPERTY_SET , описывающую тип выполняемого набора, задается свойство и все дополнительные параметры, необходимые для определенного набора свойств. Структуру с дополнительными свойствами можно найти сразу после структуры STORAGE_PROPERTY_SET в зависимости от propertyId STORAGE_PROPERTY_SET. Например, если свойство PropertyId имеет значение StorageAdapterProtocolSpecificProperty, то STORAGE_PROTOCOL_SPECIFIC_DATA_EXT структура сразу же следует за STORAGE_PROPERTY_SET.

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

Parameters.DeviceIoControl.InputBufferLength указывает размер буфера параметров в байтах в Irp-AssociatedIrp.SystemBuffer>, который должен иметь >значение = sizeof(STORAGE_PROPERTY_SET).

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

Зависит от указанного PropertyId. Например, если свойство PropertyId имеет значение StorageAdapterProtocolSpecificProperty, то выходной буфер содержит STORAGE_PROTOCOL_SPECIFIC_DATA_EXT структуру с обновленными данными из мини-порта.

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

Размер выходного буфера в байтах.

Буфер входных и выходных данных

Недоступно

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

Недоступно

Блок состояния

Irp-IoStatus.Status> имеет значение STATUS_SUCCESS, если запрос выполнен успешно. В противном случае — состояние соответствующего условия ошибки в виде кода NTSTATUS. Дополнительные сведения см. в разделе Значения NTSTATUS.

Требования

Требование Значение
Заголовок ntddstor.h

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

STORAGE_PROPERTY_SET

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT

STORAGE_SET_TYPE