структура STOR_DEVICE_CAPABILITIES_EX (srb.h)
Структура STOR_DEVICE_CAPABILITIES_EX сообщает возможности устройства драйверу портов SCSI в ответ на запрос возможностей в блоке запросов SCSI (SRB) с функцией SRB_FUNCTION_PNP. STOR_DEVICE_CAPABILITIES — это подмножество структуры DEVICE_CAPABILITIES, содержащей элементы, относящиеся к устройствам хранения.
Синтаксис
typedef struct _STOR_DEVICE_CAPABILITIES_EX {
USHORT Version;
USHORT Size;
ULONG DeviceD1 : 1;
ULONG DeviceD2 : 1;
ULONG LockSupported : 1;
ULONG EjectSupported : 1;
ULONG Removable : 1;
ULONG DockDevice : 1;
ULONG UniqueID : 1;
ULONG SilentInstall : 1;
ULONG RawDeviceOK : 1;
ULONG SurpriseRemovalOK : 1;
ULONG NoDisplayInUI : 1;
ULONG DefaultWriteCacheEnabled : 1;
ULONG Reserved0 : 20;
ULONG Address;
ULONG UINumber;
ULONG Reserved1[2];
} STOR_DEVICE_CAPABILITIES_EX, *PSTOR_DEVICE_CAPABILITIES_EX;
Члены
Version
Указывает версию структуры. Установите значение STOR_DEVICE_CAPABILITIES_EX_VERSION_1 по Storport.
Size
Указывает размер структуры. Установите значение sizeof(STOR_DEVICE_CAPABILITIES_EX) в Storport.
DeviceD1
Указывает, поддерживает ли оборудование устройства состояние питания D1. Драйверы мини-порта задают для этого бита значение 0.
DeviceD2
Указывает, поддерживает ли оборудование устройства состояние питания D2. Драйверы мини-порта задают для этого бита значение 0.
LockSupported
Указывает, поддерживает ли устройство блокировку физического устройства, которая предотвращает удаление устройства. Этот элемент относится к удалению LUN или устройства единицы.
EjectSupported
Указывает, поддерживает ли устройство извлечение управляемых программным обеспечением устройств, пока система находится в состоянии PowerSystemWorking. Этот элемент относится к удалению устройства LUN или устройства единиц.
Removable
Указывает, может ли устройство быть динамически удалено из своего немедленного родительского элемента. Если Съемный имеет значение TRUE:
- Устройство не принадлежит тому же физическому объекту, что и его родительский объект.
- Устройство отображается в программе unplug или Eject Hardware, если SurpriseRemovalOK также имеет значение TRUE.
DockDevice
Указывает, является ли устройство закрепления периферийным устройством.
UniqueID
Указывает, является ли идентификатор экземпляра устройства уникальным для всей системы. Этот бит ясно, если идентификатор экземпляра является уникальным только в пределах области шины.
SilentInstall
Указывает, следует ли диспетчера устройств подавлять все диалоговые окна установки; кроме обязательных диалоговых окон, таких как "не найдены совместимые драйверы".
RawDeviceOK
Указывает, может ли драйвер базовой шины управлять устройством, если нет драйвера функции (например, устройства SCSI в сквозном режиме). Этот режим операции называется необработанным режимом.
SurpriseRemovalOK
Указывает, может ли минипорт-драйвер устройства обрабатывать ситуацию, когда устройство удаляется, прежде чем порт SCSI может отправлять SRB_FUNCTION_PNP с StorRemoveDevice в качестве PnPAction в структуре SCSI_PNP_REQUEST_BLOCK. Если SurpriseRemovalOK установлено значение TRUE, устройство можно безопасно удалить из своего непосредственного родительского элемента независимо от состояния, в который находится драйвер.
NoDisplayInUI
Не отображайте устройство в пользовательском интерфейсе. Если этот бит задан, устройство никогда не отображается в пользовательском интерфейсе, даже если устройство присутствует, но не запускается. Мини-портовые драйверы не задают этот бит.
DefaultWriteCacheEnabled
Кэш записи устройства хранилища включен по умолчанию при инициализации.
Reserved0
Зарезервированные биты.
Address
LUN-адрес устройства единицы хранения.
UINumber
Указывает число, связанное с устройством, которое можно отобразить в пользовательском интерфейсе.
Это число может быть значением идентификатора, выбранное для упрощения поиска физического устройства для пользователя. Если uiNumber неизвестно, драйвер минипорта может задать для этого элемента значение по умолчанию 0xFFFFFFFF.
Reserved1[2]
Зарезервированные биты.
Замечания
Когда мини-драйвер получает SRB в подпрограмме HwStorStartIo, где функция SRB SRB_FUNCTION_PNP, SRB форматируется как структура SCSI_PNP_REQUEST_BLOCK. Если элемент SRB PnPActionStorQueryCapabilities, минипорт может вернуть STOR_DEVICE_CAPABILITIES_EX структуру в DataBuffer члена SRB.
Характеристики извлечения, удаления и установки для устройства задаются в структуре STOR_DEVICE_CAPABILITIES_EX. Для поддержки использования этой структуры мини-порт должен задать флаг STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES в элементе флагов FeatureSupport вHW_INITIALIZATION_DATA (SCSI) перед вызовом ScsiPortInitialize.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8. |
заголовка | srb.h (include Storport.h, Minitape.h, Srb.h) |