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の