共用方式為


ExAllocatePool3 函式 (wdm.h)

ExAllocatePool3 例程會配置指定類型的集區內存,並傳回已配置區塊的指標。 此例程類似於 ExAllocatePool2 ,但會新增擴充的參數。

語法

DECLSPEC_RESTRICT PVOID ExAllocatePool3(
  POOL_FLAGS                Flags,
  SIZE_T                    NumberOfBytes,
  ULONG                     Tag,
  PCPOOL_EXTENDED_PARAMETER ExtendedParameters,
  ULONG                     ExtendedParametersCount
);

參數

Flags

指定集區內存類型以及必要和選擇性屬性的ULONG64型別值。 您可以使用位 OR 結合多個旗標值。 如需可能的值 ,請參閱POOL_FLAGS

NumberOfBytes

指定要配置的位元組數目非零。

Tag

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

ExtendedParameters

指定配置其他屬性之 POOL_EXTENDED_PARAMETER 結構的陣列指標。

ExtendedParametersCount

指定 ExtendedParameters 中參數數目的 ULONG 值。

傳回值

ExAllocatePool3 會傳回已配置記憶體的指標。

下列條件會導致函式預設傳回NULL。 如果指定 POOL_FLAG_RAISE_ON_FAILURE ,函式會引發例外狀況。

  • 記憶體不足
  • 指定標籤 為 0 或無效POOL_FLAGS
  • 無效 POOL_EXTENDED_PARAMETER 結構

備註

如果您要建置以 Windows 10 版本 2004 之前的 Windows 版本為目標的驅動程式,請使用 ExAllocatePoolPriorityZeroExAllocatePoolPriorityUninitialized

如需詳細資訊,請參閱 ExAllocatePool2 的備註。

規格需求

需求
最低支援的用戶端 Windows 10 (版本 2004)
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (请参阅一节)
DDI 合規性規則 HwStorPortProhibitedDIS、SpNoWait、StorPortStartIo

另請參閱

ExAllocatePool2