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 |