VideoPortAllocatePool 関数 (video.h)
VideoPortAllocatePool 関数は、プール メモリのブロックを割り当て、呼び出し元が指定したタグをメモリの先頭に挿入します。
構文
VIDEOPORT_API PVOID VideoPortAllocatePool(
[in] IN PVOID HwDeviceExtension,
[in] IN VP_POOL_TYPE PoolType,
[in] IN SIZE_T NumberOfBytes,
[in] IN ULONG Tag
);
パラメーター
[in] HwDeviceExtension
ミニポート ドライバーのデバイス拡張機能へのポインター。
[in] PoolType
割り当てるメモリ プールの種類を指定します。 このパラメーターは、次のいずれかに設定できます。
値 | 意味 |
---|---|
VpNonPagedPool | プールは非ページ メモリから取得されます。 |
VpPagedPool | プールはページ メモリから取得されます。 |
VpNonPagedPoolCacheAligned | プールは、キャッシュにアラインされた非ページ メモリから取得されます。 |
VpPagedPoolCacheAligned | プールは、キャッシュにアラインされたページ メモリから取得されます。 |
[in] NumberOfBytes
割り当てるメモリのバイト数を指定します。
[in] Tag
メモリを割り当てるドライバーを一意に識別する、最大 4 つの ASCII 文字で構成される 4 バイトの割り当てタグを指定します。 タグ文字列は、単一引用符で区切られます。
戻り値
メモリ プールの割り当てが成功すると、 VideoPortAllocatePool は割り当てられたメモリ プールのアドレスを返します。 それ以外の場合、この関数は NULL を返します。
注釈
VideoPortAllocatePool は、古い VideoPortAllocateBuffer を置き換えることを目的としています。
Tag 文字列は、バイト逆順に指定する必要があります。 ディスプレイ ドライバーを示すには、文字列の最初の文字 (反転する前) を 'D' にすることをお勧めします。他の 3 バイトはドライバー名を示す必要があります。 たとえば、プールがダンプされると、 Tag 文字列 'zyxD' は 'Dxyz' として表示されます。 タグは、発生したシステムのクラッシュ ダンプに表示されます。
VideoPortAllocatePool の呼び出し元は、要求された PoolType が VpNonPagedXxx 型の 1 つである場合にのみ、IRQL = DISPATCH_LEVELで実行できます。 それ以外の場合、呼び出し元は IRQL < DISPATCH_LEVELで実行されている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | video.h (Video.h を含む) |
Library | Videoprt.lib |
[DLL] | Videoprt.sys |
IRQL | 「解説」を参照してください。 |