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を返します。
備考
ScsiPortGetLogicalUnit は、ミニポート ドライバーの DriverEntry ルーチンが ScsiPortInitialize を呼び出すときに、HW_INITIALIZATION_DATAで LuExtensionSize に 0指定した場合は関係ありません。 それ以外の場合、オペレーティング システム固有のポート ドライバーを割り当てるし、ミニポート ドライバーを使用する指定したサイズの LU 拡張機能のセットをゼロで初期化します。
Per-LU ストレージは、保存されたデータ ポインターなど、特定の周辺機器に関連するデータを格納するために使用できます。 この領域にアクセスするには、ミニポート ドライバーは、ドライバーが特定の周辺機器の状態または現在の操作に関する情報を維持しているときに、ScsiPortGetLogicalUnit を呼び出します。
オペレーティング システム固有のポート ドライバーは、論理ユニットのアクティブな要求がなく、デバイスが正常に選択されていない場合は、論理ユニットが存在しないと見なすことができます。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | srb.h (ミニポート h、Scsi.h を含む) |
ライブラリ | Scsiport.lib |
関連項目
SCSI ミニポート ドライバー の DriverEntry
ScsiPortInitialize の
ScsiPortMoveMemory の