次の方法で共有


ExFreeToLookasideListEx 関数 (wdm.h)

ExFreeToLookasideListEx ルーチンは、ルックアサイド リストにエントリを挿入します。リストがいっぱいの場合は、そのエントリに割り当てられたストレージを解放します。

構文

void ExFreeToLookasideListEx(
  [in, out] PLOOKASIDE_LIST_EX Lookaside,
  [in]      PVOID              Entry
);

パラメーター

[in, out] Lookaside

ルックアサイド リストを記述する LOOKASIDE_LIST_EX 構造体へのポインター。 この構造体は、以前は ExInitializeLookasideListEx ルーチンによって初期化されていました。

[in] Entry

解放されているルックアサイド リスト エントリへのポインター。

戻り値

なし

解説

注意事項

バージョン 22H2 Windows 11以降、この関数はインラインからエクスポートに変更されました。 その結果、最新バージョンの Windows を対象にしてドライバーをビルドすると、古い OS バージョンでは読み込みに失敗します。 Visual Studio でターゲット OS のバージョンを変更するには、[構成プロパティ] -[ドライバーの設定] ->>[全般] の順に選択します。

このルーチンは、 ExAllocateFromLookasideListEx ルーチンの以前の呼び出しによって割り当てられたルックアサイド リスト エントリを解放します。 ExFreeToLookasideListEx は、エントリのスペースがリスト内で使用可能な場合に、指定したルックアサイド リストにエントリを挿入します。 リストがいっぱいの場合 (つまり、オペレーティング システムによって決定されたエントリの最大数が既に含まれています)、 ExFreeToLookasideListExLookasideListFreeEx ルーチンを呼び出して、ドライバーがそのようなルーチンを提供している場合、指定したエントリのストレージを解放します。 それ以外の場合は、エントリを解放するために既定の割り当て解除ルーチンが使用されます。

ルックアサイド リストの詳細については、「Lookaside Listsの使用」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

ExAllocateFromLookasideListEx

ExInitializeLookasideListEx

LOOKASIDE_LIST_EX