ScsiPortGetLogicalUnit 函式 (srb.h)

ScsiPortGetLogicalUnit 例程會針對指定的周邊傳回迷你埠驅動程式每個 LU 儲存區域的指標。

注意 未來可能會變更或無法使用 SCSI 埠驅動程式和 SCSI 迷你埠驅動程式模型。 相反地,我們建議使用 Storport 驅動程式Storport 迷你埠 驅動程式模型。
 

語法

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

另請參閱

SCSI 迷你埠驅動程式的 DriverEntry

HW_INITIALIZATION_DATA (SCSI)

ScsiPortInitialize

ScsiPortMoveMemory