次の方法で共有


ScsiPortFreeDeviceBase 関数 (srb.h)

ScsiPortFreeDeviceBase ルーチンは、以前に ScsiPortGetDeviceBase を使用してシステム アドレス空間にマップされた一連のデバイス I/O またはメモリ領域アドレス解放します。

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

構文

SCSIPORT_API VOID ScsiPortFreeDeviceBase(
  [in] PVOID HwDeviceExtension,
  [in] PVOID MappedAddress
);

パラメーター

[in] HwDeviceExtension

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

[in] MappedAddress

解放する範囲のベース アドレスへのポインター。 このアドレスは、ScsiPortGetDeviceBaseによって返されるアドレスと同じである必要があります。

戻り値

何一つ

備考

ミニポート ドライバーの HwScsiFindAdapter ルーチンは、ドライバーがアダプターの特定のマップされたベース アドレスを必要としないと判断した場合は、このルーチンを呼び出してマッピングを解放する必要があります。 たとえば、ミニポート ドライバーが特定の I/O バスでサポートされている HBA がないと判断した場合は、このルーチンへの呼び出しが行われた場合、ScsiPortGetDeviceBaseによって返される各マップされたアドレスを使用して、ScsiPortFreeDeviceBase を呼び出す必要があります。

ScsiPortFreeDeviceBase は、ミニポート ドライバーの HwScsiFindAdapter ルーチンからのみ呼び出すことができます。 他のミニポート ドライバー ルーチンからの呼び出しは、システムエラーまたは呼び出し元の不適切な操作になります。

必要条件

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

関連項目

HwScsiFindAdapter

ScsiPortGetDeviceBase