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
指定結構的版本。 設定為 Storport STOR_DEVICE_CAPABILITIES_EX_VERSION_1。
Size
指定結構的大小。 設定為 Storport (STOR_DEVICE_CAPABILITIES_EX) sizeof 。
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 結構中設定。 若要支援使用此結構,迷你埠必須在 HW_INITIALIZATION_DATA (SCSI) 中的 FeatureSupport 旗標成員中設定 STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES 旗標,才能呼叫 ScsiPortInitialize。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
標頭 | srb.h (包括 Storport.h、Minitape.h、Srb.h) |