次の方法で共有


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 ミニポート ドライバー モデルを使用することをお勧めします。
 

要件

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

こちらもご覧ください

ScsiPortGetPhysicalAddress

ScsiPortGetUncachedExtension