StorPortGetPfns 関数 (storport.h)
StorPortGetPfns ルーチンは、ミニポートが SRB の MDL に関連付けられている PFN を取得する必要がある場合に呼び出すことができます。
構文
ULONG StorPortGetPfns(
[in] PVOID HwDeviceExtension,
[in] PSCSI_REQUEST_BLOCK Srb,
[in] PVOID Mdl,
[out] PVOID *Pfns,
[out] ULONG *PfnCount,
[out] ULONG *StartingOffset
);
パラメーター
[in] HwDeviceExtension
ハードウェア デバイス拡張機能へのポインター。 これは、ポート ドライバーがミニポート ドライバーの代わりに割り当ておよび初期化する HBA 記憶域ごとの です。
[in] Srb
ソース SCSI 要求ブロック (SRB) へのポインター。
[in] Mdl
Pfns が要求される MDL へのポインター。 StorPortGetOriginalMdl または StorPortGetDataInBufferMdl を使用して取得された MDL のみがサポートされます。
[out] Pfns
MDL に関連付けられている物理ページ番号の配列の先頭へのポインター。 呼び出し元は、リストを変更または更新または解放することはできません。
[out] PfnCount
配列内の PFN の数を指定します。
[out] StartingOffset
指定された MDL によって記述されたバッファーの初期ページ内のバイト オフセットを指定します。
戻り値
StorPortGetPfns は 、次のいずれかの状態コードを返します。
リターン コード | 説明 |
---|---|
STOR_STATUS_NOT_IMPLEMENTED | この関数は、アクティブなオペレーティング システムには実装されていません。 |
STOR_STATUS_SUCCESS | リスト アイテムが正常に削除されたか、リストが既に空です。 |
STOR_STATUS_INVALID_PARAMETER | パラメーターの 1 つへのポインターが NULL です。 |
注釈
ミニポート ドライバーは通常、HBA の状態や HBA のマップされたアクセス範囲など、この拡張機能に HBA 固有の情報を格納します。 この領域は、ミニポート ドライバーが StorPortInitialize を呼び出した直後に、HBA のデバイス オブジェクトの DeviceExtension-HwDeviceExtension> メンバーのミニポート ドライバーで使用できます。 ポート ドライバーは、デバイスを削除すると、このメモリを解放します。
Windows 8以降、Srb パラメーターは SCSI_REQUEST_BLOCK または STORAGE_REQUEST_BLOCK を指す場合があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | storport.h |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示