ExAllocateFromPagedLookasideList 函式 (wdm.h)
ExAllocateFromPagedLookasideList 例程會從指定的 lookaside 列表傳回分頁專案的指標,或傳回新配置的分頁項目指標。
語法
PVOID ExAllocateFromPagedLookasideList(
[in, out] PPAGED_LOOKASIDE_LIST Lookaside
);
參數
[in, out] Lookaside
lookaside 列表 之PAGED_LOOKASIDE_LIST 結構的指標,呼叫端已使用 ExInitializePagedLoitisideList 初始化。
傳回值
如果可以配置專案,ExAllocateFromPagedLookasideList 會傳回專案的指標。 否則,它會傳回 NULL。
備註
警告
從 Windows 11 22H2 版開始,此函式已從內嵌變更為匯出。 因此,如果您建置以最新版 Windows 為目標的驅動程式,則無法在舊版作業系統中載入。 若要在 Visual Studio 中變更目標 OS 版本,請選取 [組態屬性->驅動程式設定->一般]。
如果指定的 lookaside 清單不是空的, ExAllocateFromPagedLookasideList 會從清單中移除第一個專案,並傳回這個專案的指標。 否則,ExAllocateFromPagedLoativesideList 會呼叫在清單初始化或 ExAllocatePoolWithTag 中指定的配置例程,以傳回項目指標。
接著,呼叫端可以使用任何呼叫端決定的數據來設定傳回的專案。 呼叫端應該在不再使用 ExFreeToPagedLofreesideList 時釋放每個專案。
由於分頁外觀清單中的專案是從可分頁記憶體配置,因此不得在 IRQL >= DISPATCH_LEVEL存取這些專案。 您可以使用 ExAllocateFromNPagedLookasideList 來建立具有不可分頁專案的 Lookaside 清單。
在 Windows 2000 上,驅動程式必須使用 -D_WIN2K_COMPAT_SLIST_USAGE 參數,才能成功連結使用 ExAllocateFromPagedLookasideList 的程式代碼。
如需詳細資訊,請參閱使用 Lookaside 清單。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
另請參閱
ExAllocateFromNPagedLookasideList