共用方式為


ExAllocateFromLo以sideListEx 函式 (wdm.h)

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

語法

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

參數

[in, out] Lookaside

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

傳回值

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

備註

警告

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

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

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

在呼叫端使用專案完成之後,它應該藉由呼叫 ExFreeToLo以ListEx 例程釋放專案。

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

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

規格需求

需求
最低支援的用戶端 適用於 Windows Vista 和更新版本的 Windows。
目標平台 桌面
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另請參閱

ExFreeToLosideListEx

ExInitializeLo以sideListEx

LOOKASIDE_LIST_EX

LookasideListAllocateEx