storPortGetLogicalUnit 函式 (storport.h)
StorPortGetLogicalUnit 例程會傳回迷你埠驅動程式每個邏輯單元儲存區域的指標。
語法
STORPORT_API PVOID StorPortGetLogicalUnit(
[in] PVOID HwDeviceExtension,
[in] UCHAR PathId,
[in] UCHAR TargetId,
[in] UCHAR Lun
);
參數
[in] HwDeviceExtension
硬體裝置擴充功能的指標。 這是每個 HBA 儲存區域,埠驅動程式會代表迷你埠驅動程式配置和初始化。 迷你埠驅動程式通常會在此延伸模組中儲存 HBA 特定資訊,例如 HBA 的狀態和 HBA 的對應存取範圍。 只要呼叫迷你埠驅動程式的 HwStorFindAdapter 例程,這個區域就可供迷你埠驅動程式使用。 埠驅動程式會在移除裝置時釋放此記憶體。
[in] PathId
識別 SCSI 總線。
[in] TargetId
識別總線上的目標控制器或裝置。
[in] Lun
識別目標裝置的邏輯單元 (LU) 編號。
傳回值
StorPortGetLogicalUnit 會針對要求的邏輯單元傳回迷你埠驅動程式儲存區域的指標。 如果邏輯單元不存在,則會傳回 NULL。
備註
如果迷你埠驅動程式的 DriverEntry 例程在呼叫StorPortInitialize 時,HW_INITIALIZATION_DATA中為 LuExtensionSize 指定零,則 StorPortGetLogicalUnit 無關。 否則,操作系統特定的埠驅動程式會配置和初始化,並以零為要使用的迷你埠驅動程式指定大小的 LU 延伸模組集。
每個 LU 記憶體可用來儲存與特定周邊相關的數據,例如儲存的數據指標。 若要存取此區域,迷你埠驅動程式會在驅動程序維護任何特定周邊狀態或目前作業的相關信息時,呼叫 StorPortGetLogicalUnit 。
如果該邏輯單元沒有作用中的要求,且從未成功選取裝置,操作系統特定的埠驅動程式可以將邏輯單元視為不存在。
注意
當迷你埠驅動程式在 IRQL = DISPATCH_LEVEL 呼叫 StorPortGetLogicalUnit 時,函式會取得中斷鎖定。 在此 IRQL 層級呼叫 StorPortGetLogicalUnit 太常會影響迷你埠驅動程式的效能和延展性。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows XP 和更新版本的 Windows 作業系統中使用。 |
目標平台 | Universal |
標頭 | storport.h (包含 Storport.h) |
程式庫 | Storport.lib |