структура 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
Указывает, можно ли динамически удалять устройство из его непосредственного родительского элемента. Если для свойства Removable задано значение TRUE, выполните приведенные далее действия.
- Устройство не принадлежит тому же физическому объекту, что и его родительский объект.
- Устройство отображается в программе Отключать или извлечь оборудование, если для параметра 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 . Если элементом PnPAction SRB является StorQueryCapabilities, мини-порт может вернуть структуру STOR_DEVICE_CAPABILITIES_EX в элементе DataBuffer SRB.
Характеристики извлечения, удаления и установки устройства задаются в структуре STOR_DEVICE_CAPABILITIES_EX . Чтобы обеспечить поддержку использования этой структуры, перед вызовом ScsiPortInitialize мини-порт должен установить флаг STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES в члене флагов FeatureSupports в HW_INITIALIZATION_DATA (SCSI).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Верхняя часть | srb.h (включая Storport.h, Minitape.h, Srb.h) |