NdisAllocateFromNPagedLookasideList マクロ (ndis.h)
NdisAllocateFromNPagedLookasideList 関数は、指定されたルックアサイド リスト ヘッドから最初のエントリを削除します。 ルックアサイド リストが現在空の場合、エントリは非ページ プールから割り当てられます。
構文
void NdisAllocateFromNPagedLookasideList(
_L
);
パラメーター
_L
エントリの割り当て元となるルックアサイド リストの先頭へのポインター。 呼び出し元は、既にリスト ヘッドをNdisInitializeNPagedLookasideList 関数を します。
戻り値
何一つ
備考
ルックアサイド リストが空でない場合は、NdisAllocateFromNPagedLookasideList リストから最初のエントリを削除し、そのアドレスを呼び出し元に返します。 ルックアサイド リストが空の場合、NdisAllocateFromNPagedLookasideList 、Allocate パラメーターで指定された Allocate 関数を呼び出します。NdisInitializeNPagedLookasideList 関数。リストの初期化時に呼び出し元が指定した場合、または呼び出し元の代わりにエントリを割り当てます。 NdisAllocateFromNPagedLookasideList 、呼び出し元から提供された Allocate 関数がある場合、またはこの関数自体が非ページ エントリを割り当てることができない場合、NULL を返します。
非ページルックアサイド リストから割り当てられたすべてのエントリは固定サイズです。これは、ドライバーが最初に NdisInitializeNPagedLookasideList 呼び出されたときに指定されました。 したがって、ルックアサイド リストは、動的 I/O 要求に応じて状態を維持するために固定サイズのブロックを割り当てる必要があるドライバーに特に役立ちます。 たとえば、接続指向 NDIS ドライバーは、VC が作成されると、ルックアサイド リストから必要な VC コンテキスト領域を割り当て、そのような各エントリをルックアサイド リストに戻します。NdisFreeToNPagedLookasideList 関数 各 VC が切り捨てるようにします。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (NdisAllocateFromNPagedLookasideList (NDIS 5.1) を参照) でサポートされています。 Windows XP の NDIS 5.1 ドライバー (NdisAllocateFromNPagedLookasideList (NDIS 5.1) を参照) でサポートされています。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ndis.h (Ndis.h を含む) |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | Irql_Miscellaneous_Function(ndis), NdisAllocateFromNPagedLookasideList(ndis), NdisAllocateFromNPagedLookasideList_InitFail(ndis) |