STOR_DEVICE_CAPABILITIES_EX結構 (srb.h)

STOR_DEVICE_CAPABILITIES_EX 結構會將裝置功能報告給 SCSI 埠驅動程式,以回應 SCSI 要求區塊 (SRB) 中具有 SRB_FUNCTION_PNP 功能的功能查詢。 STOR_DEVICE_CAPABILITIESDEVICE_CAPABILITIES 結構的子集,其中包含與存儲設備相關的成員。

語法

C++
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

指定結構的版本。 設定為 Storport STOR_DEVICE_CAPABILITIES_EX_VERSION_1。

Size

指定結構的大小。 設定為 Storport sizeof(STOR_DEVICE_CAPABILITIES_EX)。

DeviceD1

指定裝置硬體是否支援 D1 電源狀態。 迷你埠驅動程式將此位設定為 0。

DeviceD2

指定裝置硬體是否支援 D2 電源狀態。 迷你埠驅動程式將此位設定為 0。

LockSupported

指定裝置是否支援防止裝置退出的實體裝置鎖定。 此成員與退出 LUN 或單位裝置有關。

EjectSupported

指定當系統處於 PowerSystemWorking 狀態時,裝置是否支援軟體控制的裝置退出。 此成員與退出 LUN 或單位裝置有關。

Removable

指定是否可以從其立即父系動態移除裝置。 如果 卸除式 設定為 TRUE:

  • 裝置不屬於與其父系相同的實體物件。
  • 除非 SurpriseRemovalOK 也設定為 TRUE,否則裝置會顯示在 [卸除] 或 [退出硬體] 程式中。

DockDevice

指定裝置是否為停駐周邊。

UniqueID

指定裝置的實例識別碼是否為全系統的唯一標識符。 如果實例標識碼只在總線範圍內是唯一的,則這個位是清楚的。

SilentInstall

指定 設備管理員 是否應該隱藏所有安裝對話框;除了必要對話框,例如「找不到相容的驅動程式」。

RawDeviceOK

指定如果沒有功能驅動程式,基礎總線的驅動程式是否可以驅動裝置(例如,傳遞模式中的 SCSI 裝置)。 此作業模式稱為原始模式。

SurpriseRemovalOK

指定裝置的迷你埠驅動程式是否可以處理在SCSI埠可以傳送 SRB_FUNCTION_PNP StorRemoveDevice 作為 SCSI_PNP_REQUEST_BLOCK 結構中的 PnPAction 的情況下移除裝置的情況。 如果 SurpriseRemovalOK 設為 TRUE,則不論其驅動程式處於的狀態為何,裝置都可以從其立即父系安全地移除。

NoDisplayInUI

請勿在使用者介面中顯示裝置。 如果設定此位,即使裝置存在但無法啟動,裝置也不會顯示在使用者介面中。 迷你埠驅動程式不會設定此位。

DefaultWriteCacheEnabled

預設會在初始化時啟用存儲設備的寫入快取。

Reserved0

保留的位。

Address

儲存單位裝置的 LUN 位址。

UINumber

指定與可在使用者介面中顯示的裝置相關聯的數位。

此數位可能是選擇的標識碼值,讓使用者更容易找到實體裝置。 當 UINumber 未知時,迷你埠驅動程式可以將這個成員設為其預設值 0xFFFFFFFF。

Reserved1[2]

保留的位。

言論

當迷你埠驅動程式在其 HwStorStartIo 例程中收到 SRB 時,SRB 函式SRB_FUNCTION_PNP,SRB 會格式化為 SCSI_PNP_REQUEST_BLOCK 結構。 如果 SRB 的 PnPAction 成員 StorQueryCapabilities,迷你埠可以在 SRB 的 DataBuffer 成員中傳回 STOR_DEVICE_CAPABILITIES_EX 結構。

裝置的退出、移除和安裝特性會設定在 STOR_DEVICE_CAPABILITIES_EX 結構中。 若要支援使用此結構,迷你埠必須在 FeatureSupport 旗標 HW_INITIALIZATION_DATA 成員的 FeatureSupport 旗標成員中 STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES設定,再呼叫 ScsiPortInitialize

要求

要求 價值
最低支援的用戶端 從 Windows 8 開始提供。
標頭 srb.h (包括 Storport.h、Minitape.h、Srb.h)

另請參閱

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATA (SCSI)

SCSI_PNP_REQUEST_BLOCK

ScsiPortInitialize