次の方法で共有


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を呼び出します。 要求が失敗した場合、BufferPointer は NULL に設定されます。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー storport.h (Storport.h を含む)
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 する StorPortAllocatePool(storport)、StorPortAllocatePool2(storport)、storPortIrql(storport)

関連項目

StorPortFreePool