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


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 структуры в зависимости от PropertyIdSTORAGE_PROPERTY_SET. Например, если PropertyIdStorageAdapterProtocolSpecificProperty, то структура STORAGE_PROTOCOL_SPECIFIC_DATA_EXT немедленно следует STORAGE_PROPERTY_SET.

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

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

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

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

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

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

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

n/a

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

n/a

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

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

Требования

Требование Ценность
заголовка ntddstor.h

См. также

STORAGE_PROPERTY_SET

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT

STORAGE_SET_TYPE