StorPortAllocatePool 関数 (storport.h)

StorPortAllocatePool ルーチンは、連続していない非ページ プール メモリのブロックを割り当てます。

構文

ULONG StorPortAllocatePool(
  [in]  PVOID HwDeviceExtension,
  [in]  ULONG NumberOfBytes,
  [in]  ULONG Tag,
  [out] PVOID *BufferPointer
);

パラメーター

[in] HwDeviceExtension

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

[in] NumberOfBytes

割り当てられているメモリ ブロックのサイズ (バイト単位)。

[in] Tag

割り当てられたメモリのプール タグ。 ドライバーは、プール タグを 4 つの ASCII 文字の文字列として指定し、単一引用符で区切ります。 通常、文字列は逆の順序で指定されます。

[out] BufferPointer

割り当てられたメモリ ブロックのアドレスへのポインター。成功しなかった場合は NULL

戻り値

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

リターン コード 説明
STOR_STATUS_NOT_IMPLEMENTED この関数は、アクティブなオペレーティング システムには実装されません。
STOR_STATUS_SUCCESS ルーチンが要求されたサイズのメモリ ブロックを正常に割り当てたことを示します。
STOR_STATUS_INVALID_PARAMETER バッファー アドレスを受け取るポインターは NULL です
STOR_STATUS_INVALID_IRQL 呼び出しが無効な IRQL で行われました。
STOR_STATUS_INSUFFICIENT_RESOURCES 要求されたサイズのメモリを割り当てられません。

注釈

ミニポート ドライバーは 、StorPortAllocatePool ルーチンを呼び出して、非ページ プールから連続していないメモリのブロックを割り当てます。 メモリ ブロックを解放するために、ミニポート ドライバーは StorPortFreePool を呼び出します。 要求が失敗した場合、 BufferPointerNULL に設定されます。

要件

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

こちらもご覧ください

StorPortFreePool