STOR_DEVICE_CAPABILITIES結構 (minitape.h)

STOR_DEVICE_CAPABILITIES結構會向 Storport 驅動程式報告裝置功能,以回應 SCSI 要求區塊中的功能查詢, (SRB) ,其函式為 SRB_FUNCTION_PNP。 STOR_DEVICE_CAPABILITIES 是包含與存儲設備相關成員 之DEVICE_CAPABILITIES 結構的子集。

語法

typedef struct _STOR_DEVICE_CAPABILITIES {
  USHORT Version;
  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  SurpriseRemovalOK : 1;
  ULONG  NoDisplayInUI : 1;
} STOR_DEVICE_CAPABILITIES, *PSTOR_DEVICE_CAPABILITIES;

成員

Version

指定結構的版本。 Storport 會將此字段設定為 STOR_DEVICE_CAPABILITIES_EX_VERSION_1。

DeviceD1

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

DeviceD2

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

LockSupported

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

EjectSupported

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

Removable

指定是否可以從其立即父系動態移除裝置。 如果 Removable 設定為 TRUE,則裝置不屬於與其父代相同的實體物件。

如果 [卸除式 ] 設定為 TRUE,則裝置會顯示在 [拔除] 或 [退出硬體] 程式中,除非 SurpriseRemovalOK 也設定為 TRUE

DockDevice

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

UniqueID

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

SilentInstall

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

SurpriseRemovalOK

指定裝置的迷你埠驅動程式是否可以在 Storport 以 StorRemoveDevice 做為 SCSI_PNP_REQUEST_BLOCK 結構中的 PnPAction 傳送SRB_FUNCTION_PNP之前,先移除裝置的情況。 如果 SurpriseRemovalOK 設定為 TRUE,則不論其驅動程式所在的狀態為何,都可以安全地從其立即父代移除裝置。

NoDisplayInUI

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

備註

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

Storport 會將此結構傳送至迷你埠,並將所有成員初始化為 0。 傳回時,只會使用這個 結構的 [卸除式 ] 字段。

從 Windows 8 開始,迷你埠應該使用 STOR_DEVICE_CAPABILITIES_EX 結構來指出對其他功能的支援。

規格需求

需求
最低支援的用戶端 從 Windows Vista 開始提供。
標頭 minitape.h (包括 Storport.h、Minitape.h、Srb.h)

另請參閱

DEVICE_CAPABILITIES

SCSI_PNP_REQUEST_BLOCK

STOR_DEVICE_CAPABILITIES_EX