ExAllocatePoolPriorityUninitialized 函式 (wdm.h)
此例程是 ExAllocatePoolWithTagPriority 的包裝函式和取代選項。
ExAllocatePoolPriorityUninitialized 會配置指定類型的集區內存。
語法
PVOID ExAllocatePoolPriorityUninitialized(
__drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
SIZE_T NumberOfBytes,
ULONG Tag,
EX_POOL_PRIORITY Priority
);
參數
PoolType
要配置的集區內存類型。 如需可用集區內存類型的描述,請參閱 POOL_TYPE。
您可以使用 中wdm.h
定義的 POOL_RAISE_IF_ALLOCATION_FAILURE 旗標來執行位 OR 來修改列舉值。 如果無法滿足要求,此旗標會導致引發例外狀況。 不建議使用此旗標,因為它成本很高。
同樣地,您可以使用 bitwise-ORing 此值與 POOL_COLD_ALLOCATION 旗標來修改 PoolType 值, (也定義在 wdm.h
) 中,做為核心的提示,以從可能快速分頁的頁面配置記憶體。 若要盡可能減少駐留集區內存的數量,您不應該經常參考這些配置。 POOL_COLD_ALLOCATION旗標只是諮詢。
NumberOfBytes
要配置的位元組數目。
Tag
用於已配置記憶體的集區標籤。 如需詳細資訊,請參閱 ExAllocatePoolWithTag 的 Tag 參數。
Priority
指定此要求優先順序 的EX_POOL_PRIORITY 列舉值。
傳回值
ExAllocatePoolPriorityUninitialized 如果可用集區中的記憶體不足,無法滿足要求,除非指定POOL_RAISE_IF_ALLOCATION_FAILURE,否則會傳回 NULL。 否則,例程會傳回已配置記憶體的指標。
備註
ExAllocatePoolPriorityUninitialized 配置的記憶體未初始化。 如果核心模式驅動程式要讓使用者模式軟體看到 (,則必須先將這個記憶體設為零,以避免) 洩漏潛在的特殊許可權內容
See the Remarks section of ExAllocatePoolWithTagPriority for additional guidance.
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 版本 2004 需要 WDK。 以 Windows 7 和更新版本的 Windows 作業系統為目標。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (请参阅一节) |
DDI 合規性規則 | HwStorPortProhibitedDDIs、IrqlExAllocatePool、IrqlExFree2、SpNoWait、StorPortStartIo |