次の方法で共有


ScsiPortGetVirtualAddress 関数 (srb.h)

ScsiPortGetVirtualAddress ルーチンは、物理アドレスが ScsiPortGetPhysicalAddress への呼び出しによって取得された場合、物理アドレスに関連付けられた仮想アドレス返します。

SCSI ポート ドライバーと SCSI ミニポート ドライバー モデルは、今後変更されたり使用できなくなったりする可能性があります。 代わりに、Storport ドライバー を使用し、Storport ミニポート ドライバー モデル することをお勧めします。
 

構文

SCSIPORT_API PVOID ScsiPortGetVirtualAddress(
  [in] PVOID                 HwDeviceExtension,
  [in] SCSI_PHYSICAL_ADDRESS PhysicalAddress
);

パラメーター

[in] HwDeviceExtension

ハードウェア デバイス拡張機能へのポインター。 これは、ポート ドライバーが割り当て、ミニポート ドライバーの代わりに初期化する HBA ごとの記憶域です。 ミニポート ドライバーは通常、HBA の状態や HBA のマップされたアクセス範囲など、この拡張機能に HBA 固有の情報を格納します。 この領域は、ミニポート ドライバーが ScsiPortInitialize 呼び出した直後に、HBA のデバイス オブジェクトの メンバーである DeviceExtension->HwDeviceExtension 内のミニポート ドライバーで使用できます。 ポート ドライバーは、デバイスを削除すると、このメモリを解放します。

[in] PhysicalAddress

マップする物理アドレスを指定します。 この値は、ScsiPortGetPhysicalAddress によって返され、キャッシュされていないデバイス拡張機能または SRB 拡張機能から取得されている必要があります。

戻り値

ScsiPortGetVirtualAddress は、指定された入力アドレスのマップされたポインターを返します。 PhysicalAddress 値が無効な場合は、null 返します。

備考

ScsiPortGetVirtualAddress は、物理アドレスを表すために SCSI_PHYSICAL_ADDRESS を使用します。

typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS, *PSCSI_PHYSICAL_ADDRESS;

SCSI_PHYSICAL_ADDRESS の種類は、物理アドレスまたはバスの相対アドレスを表すために SCSI ミニポート ドライバーが使用するオペレーティング システムに依存しないデータ型です。

SCSI ポート ドライバーと SCSI ミニポート ドライバー モデルは、今後変更されたり使用できなくなったりする可能性があります。 代わりに、Storport ドライバー を使用し、Storport ミニポート ドライバー モデル することをお勧めします。
 

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー srb.h (ミニポート h、Scsi.h を含む)
ライブラリ Scsiport.lib

関連項目

ScsiPortGetPhysicalAddress

ScsiPortGetUncachedExtension