StorPortAllocateMdl 関数 (storport.h)

StorPortAllocateMdl ルーチンは、指定された非ページ プール メモリを記述するために MDL を割り当てます。

構文

ULONG StorPortAllocateMdl(
  [in]  PVOID HwDeviceExtension,
  [in]  PVOID BufferPointer,
  [in]  ULONG NumberOfBytes,
  [out] PVOID *Mdl
);

パラメーター

[in] HwDeviceExtension

ホスト バス アダプター (HBA) のハードウェア デバイス拡張機能へのポインター。

[in] BufferPointer

MDL が記述するバッファーのベース仮想アドレスへのポインター。

[in] NumberOfBytes

このパラメーターは、MDL が記述するバッファーの長さをバイト単位で指定します。

[out] Mdl

割り当てられた MDL を受け取るポインター。

戻り値

StorPortAllocateMdl は、次のいずれかの状態コードを返します。

リターン コード 説明
STOR_STATUS_NOT_IMPLEMENTED
この関数は、アクティブなオペレーティング システムには実装されていません。
STOR_STATUS_SUCCESS
ルーチンによって MDL が正常に割り当てられたことを示します。
STOR_STATUS_INVALID_PARAMETER
MDL を受け取るポインターが NULL です

バッファーへのポインターは NULL です

STOR_STATUS_INVALID_IRQL
呼び出しが無効な IRQL で行われました。
STOR_STATUS_INSUFFICIENT_RESOURCES
指定されたバッファーを記述するために MDL を割り当てることができません。

注釈

ミニポート ドライバーは 、StorPortAllocateMdl ルーチンを呼び出して、非ページ プールからのメモリ ブロックを記述する MDL を割り当てます。 MDL を解放するために、ミニポート ドライバーは StorPortFreeMdl ルーチンを呼び出します。

要件

要件
対象プラットフォーム ユニバーサル
Header storport.h (Storport.h を含む)
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 StorPortIrql(storport)