IOCTL_STORAGE_SET_PROPERTY IOCTL (ntddstor.h)
Драйвер может использовать IOCTL_STORAGE_SET_PROPERTY для задания свойств устройства хранилища или адаптера.
Заметка
Из-за сопоставления определений IOCTL в Windows 10 версии 2004 существующие программы, использующие IOCTL_STORAGE_SET_PROPERTY, должны быть перекомпилированы в Windows Server 2022.
Основной код
Входной буфер
Содержит структуру 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 |