ExAllocateFromNPagedLookasideList 関数 (wdm.h)
ExAllocateFromNPagedLookasideList ルーチンは、指定されたルックアサイド リストから非ページ エントリへのポインターを返すか、新しく割り当てられた非ページ エントリへのポインターを返します。
構文
PVOID ExAllocateFromNPagedLookasideList(
[in, out] PNPAGED_LOOKASIDE_LIST Lookaside
);
パラメーター
[in, out] Lookaside
呼び出し元が既に ExInitializeNPagedLookasideList で初期化されているルックアサイド リストのNPAGED_LOOKASIDE_LIST 構造体へのポインター。
戻り値
ExAllocateFromNPagedLookasideList 、エントリを割り当てることができる場合は、エントリへのポインターを返します。 それ以外の場合は、null 返します。
備考
注意
Windows 11 バージョン 22H2 以降では、この関数はインラインからエクスポートに変更されました。 その結果、最新バージョンの Windows を対象とするドライバーをビルドすると、古い OS バージョンでの読み込みに失敗します。 Visual Studio でターゲット OS のバージョンを変更するには、[Configuration Properties->Driver Settings->General] を選択します。
指定したルックアサイド リストが空でない場合は、ExAllocateFromNPagedLookasideList リストから最初のエントリを削除し、このエントリへのポインターを返します。 それ以外の場合、ExAllocateFromNPagedLookasideList は、リストの初期化時に指定された Allocate ルーチンを呼び出すか、ExAllocatePoolWithTag を してエントリ ポインターを返します。
呼び出し元は、呼び出し元によって決定されたデータを使用して、返されたエントリを設定できます。 たとえば、ドライバーは、特定の種類の I/O バス上の周辺機器に対して、SCSI SRB などのコマンド ブロックを設定するために、このような固定サイズのエントリを使用する場合があります。 呼び出し元は、ExFreeToNPagedLookasideList が使用されなくなったときに、各エントリを解放する必要があります。
詳細については、「ルックアサイド リストの使用 」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降で使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
関連項目
ExAllocateFromPagedLookasideList の
ExFreeToNPagedLookasideList を する
ExInitializeNPagedLookasideList の