ScsiPortGetLogicalUnit 函式 (srb.h)
ScsiPortGetLogicalUnit 例程會針對指定的周邊傳回迷你埠驅動程式每個 LU 儲存區域的指標。
語法
SCSIPORT_API PVOID ScsiPortGetLogicalUnit(
[in] PVOID HwDeviceExtension,
[in] UCHAR PathId,
[in] UCHAR TargetId,
[in] UCHAR Lun
);
參數
[in] HwDeviceExtension
硬體裝置擴充功能的指標。 這是埠驅動程式代表迷你埠驅動程式配置和初始化的每個 HBA 儲存區域。 迷你埠驅動程式通常會在此延伸模組中儲存 HBA 特定資訊,例如 HBA 的狀態和 HBA 的對應存取範圍。 此區域可在迷你埠驅動程式呼叫 ScsiPortInitialize 之後,立即提供給 HBA 裝置物件的 DeviceExtension-HwDeviceExtension> 成員。 埠驅動程式會在移除裝置時釋放此記憶體。
[in] PathId
識別 SCSI 總線。
[in] TargetId
識別總線上的目標控制器或裝置。
[in] Lun
識別目標裝置的邏輯單元編號。
傳回值
ScsiPortGetLogicalUnit 會針對要求的邏輯單元傳回迷你埠驅動程式儲存區域的指標。 如果操作系統特定的埠驅動程式將此邏輯單元視為不存在,則會傳回 NULL。
備註
如果迷你埠驅動程式的 DriverEntry 例程在呼叫 ScsiPortInitialize 時,在 HW_INITIALIZATION_DATA 中指定了 LuExtensionSize 的零,ScsiPortGetLogicalUnit 就無關。 否則,操作系統特定的埠驅動程式會配置並初始化,並以零為要使用的迷你埠驅動程式指定大小的 LU 擴充功能集合。
每個 LU 記憶體可用來儲存與特定周邊相關的數據,例如已儲存的數據指標。 若要存取此區域,迷你埠驅動程式會在驅動程序維護任何特定周邊或目前作業狀態的相關信息時呼叫 ScsiPortGetLogicalUnit 。
如果該邏輯單元沒有作用中要求且從未成功選取裝置,操作系統特定的埠驅動程式可以將邏輯單元視為不存在。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | srb.h (包括 Miniport.h、Scsi.h) |
程式庫 | Scsiport.lib |