共用方式為


ExAllocateFromLookasideListEx 函式 (wdm.h)

ExAllocateFromLookasideListEx 例程會從指定的 lookaside 清單中移除第一個專案,或者,如果清單是空的,則會動態配置新項目的記憶體。

語法

PVOID ExAllocateFromLookasideListEx(
  [in, out] PLOOKASIDE_LIST_EX Lookaside
);

參數

[in, out] Lookaside

描述外觀清單之 LOOKASIDE_LIST_EX 結構的指標。 此結構先前由 exInitializeLookasideListEx 例程初始化。

傳回值

ExAllocateFromLookasideListEx 會傳回 lookaside 列表專案的指標,如果清單中有專案,或可以動態配置。 否則,這個例程會傳回 NULL

言論

謹慎

從 Windows 11 版本 22H2 開始,此函式已從內嵌變更為匯出。 因此,如果您建置以最新版 Windows 為目標的驅動程式,它將無法在舊版作系統中載入。 若要在 Visual Studio 中變更目標 OS 版本,請選取 [組態屬性->驅動程式設定->[一般]。

如果專案可用,此例程會從指定的外觀清單中移除第一個專案,並傳回這個專案的指標。 如果清單是空的,例程會為新專案配置記憶體,並傳回這個專案的指標。 如果此設定失敗,例程會傳回 NULL

如果 lookaside 列表是空的,ExAllocateFromLookasideListEx 會呼叫 LookasideListAllocateEx 例程來配置新專案的記憶體,如果驅動程式已提供這類例程。 否則,會使用預設配置例程來配置專案。

呼叫端使用 專案完成之後,應該呼叫 ExFreeToLookasideListEx 例程來釋放專案。

在目前的實作中,lookaside 清單會以最後先出 (LIFO) 堆疊的形式運作。 因此,要釋放的最後一個專案(並推送至堆棧)是從清單中配置(快顯)的下一個專案。

如需 lookaside 列表的詳細資訊,請參閱使用 Lookaside 清單

要求

要求 價值
最低支援的用戶端 適用於 Windows Vista 和更新版本的 Windows。
目標平臺 桌面
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另請參閱

ExFreeToLookasideListEx

ExInitializeLookasideListEx

LOOKASIDE_LIST_EX

LookasideListAllocateEx