次の方法で共有


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 に 0 を指定した場合、ScsiPortGetLogicalUnit は関係ありません。 それ以外の場合、オペレーティング システム固有のポート ドライバーは、ミニポート ドライバーが使用するために指定したサイズの LU 拡張機能のセットをゼロで割り当てて初期化します。

LU ごとのストレージを使用すると、保存されたデータ ポインターなど、特定の周辺機器に関連するデータを格納できます。 この領域にアクセスするために、ミニポート ドライバーは、ドライバーが特定の周辺機器の状態または現在の操作に関する情報を維持しているときに ScsiPortGetLogicalUnit を呼び出します。

オペレーティング システム固有のポート ドライバーは、論理ユニットに対するアクティブな要求がなく、デバイスが正常に選択されていない場合、論理ユニットが存在しないと見なすことができます。

要件

要件
対象プラットフォーム デスクトップ
Header srb.h (Miniport.h、Scsi.h を含む)
Library Scsiport.lib

こちらもご覧ください

SCSI ミニポート ドライバーの DriverEntry

HW_INITIALIZATION_DATA (SCSI)

ScsiPortInitialize

ScsiPortMoveMemory