структура STOR_DEVICE_CAPABILITIES_EX (storport.h)

Структура STOR_DEVICE_CAPABILITIES_EX сообщает о возможностях устройства драйверу Storport в ответ на запрос возможностей в блоке запросов SCSI (SRB) с функцией SRB_FUNCTION_PNP.

Синтаксис

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, устройство не принадлежит к тому же физическому объекту, что и его родительский объект.

Если для съемных носителей задано значение TRUE, устройство отображается в программе unplug или Eject Hardware, если параметр SurpriseRemovalOK также не имеет значение TRUE.

DockDevice

Указывает, является ли устройство периферийным устройством для закрепления.

UniqueID

Указывает, является ли идентификатор экземпляра устройства уникальным для всей системы. Этот бит ясно, если идентификатор экземпляра уникален только в пределах области шины.

SilentInstall

Указывает, должны ли диспетчер устройств подавлять все диалоговые окна установки, за исключением обязательных диалоговых окон, таких как "несовместимые драйверы не найдены".

RawDeviceOK

Указывает, может ли драйвер базовой шины управлять устройством, если драйвер функции отсутствует (например, устройства SCSI в сквозном режиме). Этот режим операции называется необработанным режимом.

SurpriseRemovalOK

Указывает, может ли минипорт-драйвер устройства обрабатывать ситуацию, когда устройство удаляется, прежде чем Storport сможет отправить SRB_FUNCTION_PNP с StorRemoveDevice в качестве PnPAction в структуре SCSI_PNP_REQUEST_BLOCK . Если параметр SurpriseRemovalOK имеет значение TRUE, устройство можно безопасно удалить из своего ближайшего родительского элемента независимо от состояния, в которое находится драйвер.

NoDisplayInUI

Не отображайте устройство в пользовательском интерфейсе. Если этот бит задан, устройство никогда не отображается в пользовательском интерфейсе, даже если устройство присутствует, но не запускается. Драйверы минипорта не задают этот бит.

DefaultWriteCacheEnabled

Кэш записи устройства хранения включен по умолчанию при инициализации.

Reserved0

Зарезервированные биты.

Address

LUN-адрес устройства единицы хранения.

UINumber

Указывает число, связанное с устройством, которое может отображаться в пользовательском интерфейсе.

Это число может быть значением идентификатора, выбранным для упрощения поиска физического устройства. Если значение UINumber неизвестно, драйвер минипорта может задать этому члену значение по умолчанию 0xFFFFFFFF.

Reserved1[2]

Зарезервированные биты.

Примечания

STOR_DEVICE_CAPABILITIES_EX — это подмножество структуры DEVICE_CAPABILITIES , содержащей элементы, относящиеся к запоминающим устройствам.

Когда драйвер минипорта получает SRB в своей подпрограмме HwStorStartIo , где функция SRB SRB_FUNCTION_PNP, SRB форматируется как структура SCSI_PNP_REQUEST_BLOCK . Если элемент PnPAction SRB является StorQueryCapabilities, минипорт может вернуть STOR_DEVICE_CAPABILITIES_EX структуру в элементе DataBuffer SRB.

Характеристики извлечения, удаления и установки для устройства задаются в структуре STOR_DEVICE_CAPABILITIES_EX . Для поддержки использования этой структуры минипорт должен задать флаг STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES в элементе флагов FeatureSupport в HW_INITIALIZATION_DATA перед вызовом StorPortInitialize.

Требования

   
Минимальная версия клиента Доступно начиная с Windows 8.
Заголовок storport.h (include Storport.h, Minitape.h, Srb.h)

См. также

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATA

SCSI_PNP_REQUEST_BLOCK

StorPortInitialize