次の方法で共有


StorPortGetDeviceBase 関数 (storport.h)

StorPortGetDeviceBase ルーチンは、I/O アドレスをシステム アドレス空間にマップします。

構文

STORPORT_API PVOID StorPortGetDeviceBase(
  [in] PVOID                 HwDeviceExtension,
  [in] INTERFACE_TYPE        BusType,
  [in] ULONG                 SystemIoBusNumber,
  [in] STOR_PHYSICAL_ADDRESS IoAddress,
  [in] ULONG                 NumberOfBytes,
  [in] BOOLEAN               InIoSpace
);

パラメーター

[in] HwDeviceExtension

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

[in] BusType

HBA が接続されている I/O バスのインターフェイスの種類を指定します。 ミニポート ドライバーの HwStorFindAdapter ルーチンは、入力 PORT_CONFIGURATION_INFORMATIONAdapterInterfaceType メンバーからこのパラメーターの値を取得します。

[in] SystemIoBusNumber

HBA が接続されている I/O バスのシステム割り当て番号を指定します。 HwStorFindAdapter ルーチンは、入力 PORT_CONFIGURATION_INFORMATIONSystemIoBusNumber メンバーからこのパラメーターの値を取得します。

[in] IoAddress

HBA で使用される範囲のバス相対ベース アドレスを指定します。 HwStorFindAdapter ルーチンは、ポート ドライバーが範囲構成情報を提供する場合に、PORT_CONFIGURATION_INFORMATIONAccessRanges 要素からこのパラメーターの値を取得します。 それ以外の場合、このアドレスは、StorPortGetBusData またはミニポート ドライバーが指定した既定値 返される値を指定できます。 成功した戻り値の状態がエラー状態 (NULL) と競合する可能性があるため、ベース アドレス 0 は使用しないでください。

[in] NumberOfBytes

マッピングがカバーする範囲のサイズをバイト単位で指定します。 HwStorFindAdapter ルーチンは、ポート ドライバーが範囲構成情報を提供する場合に、IoAddress と同じAccessRanges 要素からこのパラメーターの値を取得します。 それ以外の場合は、StorPortGetBusData またはミニポート ドライバーが提供する既定値 この値を返すことができます。 いずれの場合も、ドライバーは、返された、マップされた範囲外のハードウェアにアクセスする必要があります。

[in] InIoSpace

TRUE は、マップされる範囲が I/O 空間内であることを示し、ミニポート ドライバーは、HBA と通信する読み取り/書き込みルーチン Storport ポートにこの範囲のマップされたアドレスを渡します。 HwStorFindAdapter ルーチンは、IoAddress と同じ AccessRanges 要素からこのパラメーター値を取得します。 ミニポート ドライバー の InIoSpace 引数として StorPortGetDeviceBase に渡される前に、ACCESS_RANGE型要素の InMemorySpace メンバーの値を反転する必要があります。 FALSE は、マップする範囲がメモリ空間にあることを示します。

戻り値

IoAddress パラメーターで指定されたバス相対アドレスに対応する、マップされた論理ベース アドレス。

備考

すべてのミニポート ドライバーは、マップされた論理アクセス範囲アドレスを、読み取り/書き込みルーチン Storport ポートに渡す必要があります。また、Storport は、HBA と通信するときに読み取り/書き込みルーチン 登録します。

このルーチンは、システム プラグ アンド プレイ (PnP) マネージャーによってドライバーに割り当てられたアドレスのみをサポートします。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー storport.h (Storport.h を含む)
ライブラリ Storport.lib

関連項目

StorPortFreeDeviceBase