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 の呼び出し元は、要求された PoolTypeVpNonPagedXxx 型の 1 つである場合にのみ、IRQL = DISPATCH_LEVELで実行できます。 それ以外の場合、呼び出し元は IRQL < DISPATCH_LEVELで実行されている必要があります。

要件

要件
サポートされている最小のクライアント Windows XP 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム デスクトップ
Header video.h (Video.h を含む)
Library Videoprt.lib
[DLL] Videoprt.sys
IRQL 「解説」を参照してください。

こちらもご覧ください

VideoPortFreePool