共用方式為


ExAllocatePoolQuotaUninitialized 函式 (wdm.h)

ExAllocatePoolQuotaUninitialized 例程會配置集區內存,針對目前的進程收取配額。

此例程是 ExAllocatePoolWithQuotaTag 的包裝函式和取代選項。 功能上並沒有任何差異。

語法

PVOID ExAllocatePoolQuotaUninitialized(
  __drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
  SIZE_T                                         NumberOfBytes,
  ULONG                                          Tag
);

參數

PoolType

要配置的集區內存類型。 如需可用集區內存類型的描述,請參閱 POOL_TYPE

同樣地,您可以使用 bitwise-ORing 此值與 POOL_COLD_ALLOCATION 旗標來修改 PoolType 值, (也定義在 wdm.h) 中,做為核心的提示,以從可能快速分頁的頁面配置記憶體。 若要盡可能減少駐留集區內存的數量,您不應該經常參考這些配置。 POOL_COLD_ALLOCATION旗標只是諮詢。

NumberOfBytes

要配置的位元組數目。

Tag

用於已配置記憶體的集區標籤。 例如,將集區標籤指定為一到四個字元的非零字元常值,並以單引號分隔 () Tag1 。 字串通常會以反向順序指定,例如 () 1gaT 。 標記中的每個 ASCII 字元都必須是範圍0x20 (空格) 的值,才能0x7E (波浪) 。 每個配置程式代碼路徑都應該使用唯一的集區標籤,協助調試程式和驗證程式識別程式代碼路徑。

傳回值

ExAllocatePoolQuotaUninitialized 會傳回已配置集區的指標。

如果無法滿足要求,除非指定POOL_QUOTA_FAIL_INSTEAD_OF_RAISE, 否則 ExAllocatePoolQuotaUninitialized 會引發例外狀況。 基於效能考慮,最好使用POOL_QUOTA_FAIL_INSTEAD_OF_RAISE。

備註

這個例程是由最高層級的驅動程式所呼叫,這些驅動程式會配置記憶體以滿足原本發出 I/O 要求之進程內容中的要求。 較低層級的驅動程式會改為呼叫 ExAllocatePoolUninitialized

ExAllocatePoolQuotaUninitialized 配置的記憶體未初始化。 如果核心模式驅動程式要讓使用者模式軟體看到 (,則必須先將這個記憶體設為零,以避免) 洩漏潛在的特殊許可權內容

如需其他指引,請參閱 ExAllocatePoolWithQuotaTag一節。

規格需求

需求
最低支援的用戶端 Windows 10 2004 版需要 WDK。 以 Windows 7 和更新版本的 Windows 作業系統為目標。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL IRQL <= DISPATCH_LEVEL (请参阅一节)
DDI 合規性規則 HwStorPortProhibitedDDIs、SpNoWait、StorPortStartIo

另請參閱

ExAllocatePoolQuotaZero

ExAllocatePoolWithQuotaTag