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