共用方式為


STOR_DEVICE_CAPABILITIES結構 (storport.h)

STOR_DEVICE_CAPABILITIES 結構會向 Storport 驅動程式報告裝置功能,以回應具有 SRB_FUNCTION_PNP 功能的 SCSI 要求區塊 (SRB) 中的功能查詢。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

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

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

DockDevice

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

UniqueID

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

SilentInstall

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

SurpriseRemovalOK

指定裝置的迷你埠驅動程式是否可以處理在 Storport 可以傳送 SRB_FUNCTION_PNP StorRemoveDevice 作為 SCSI_PNP_REQUEST_BLOCK 結構中的 PnPAction 時移除裝置的情況。 如果 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 開始提供。
標頭 storport.h (包括 Storport.h、Minitape.h、Srb.h)

另請參閱

DEVICE_CAPABILITIES

SCSI_PNP_REQUEST_BLOCK

STOR_DEVICE_CAPABILITIES_EX