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


IOCTL_STORAGE_QUERY_PROPERTY IOCTL (ntddstor.h)

Драйвер может использовать IOCTL_STORAGE_QUERY_PROPERTY для возврата свойств устройства хранилища или адаптера. Запрос указывает тип полученной информации, например данные запроса для устройства или возможностей и ограничений адаптера. IOCTL_STORAGE_QUERY_PROPERTY также можно использовать для определения того, поддерживает ли драйвер порта определенное свойство или какие поля дескриптора свойств можно изменить с последующим запросом на изменение свойства.

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

Irp->AssociatedIrp.SystemBuffer содержит STORAGE_PROPERTY_QUERY данные, указывающие, следует ли запрашивать устройство или адаптер, тип запроса и любые дополнительные параметры, необходимые для запроса, например код страницы для определенной страницы SCSI. Свойства устройства должны извлекаться только с устройства; Попытка получить свойства устройства из адаптера приведет к ошибке.

Parameters.DeviceIoControl.OutputBufferLength указывает количество байтов, которые можно записать в Irp->AssociatedIrp.SystemBuffer. OutputBufferLength может быть нулевым, чтобы определить, существует ли свойство без получения своих данных.

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

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

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

Драйвер возвращает данные запроса к буферу в Irp->AssociatedIrp.SystemBuffer. Различные объемы данных, относящихся к шине, могут быть добавлены в структуру.

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

Приведите структуру, возвращенную в STORAGE_DESCRIPTOR_HEADER, и проверьте его размер, чтобы определить количество байтов, необходимых структуре.

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

В поле Information задано количество возвращаемых байтов. Поле состояния имеет значение STATUS_SUCCESS или, возможно, STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER или STATUS_NOT_SUPPORTED.

Требования

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

См. также

STORAGE_DESCRIPTOR_HEADER

STORAGE_PROPERTY_QUERY

STORAGE_RPMB_DATA_FRAME