POOL_EXTENDED_PARAMETER结构 (wdm.h)

指定驱动程序在调用 ExAllocatePool3 时提供的扩展参数信息。

语法

typedef struct _POOL_EXTENDED_PARAMETER {
  struct {
    ULONG64 Type : POOL_EXTENDED_PARAMETER_TYPE_BITS;
    ULONG64 Optional : POOL_EXTENDED_PARAMETER_REQUIRED_FIELD_BITS;
    ULONG64 Reserved : POOL_EXTENDED_PARAMETER_RESERVED_BITS;
  } DUMMYSTRUCTNAME;
  union {
    ULONG64                          Reserved2;
    PVOID                            Reserved3;
    EX_POOL_PRIORITY                 Priority;
    POOL_EXTENDED_PARAMS_SECURE_POOL *SecurePoolParams;
    POOL_NODE_REQUIREMENT            PreferredNode;
  } DUMMYUNIONNAME;
} POOL_EXTENDED_PARAMETER, *PPOOL_EXTENDED_PARAMETER;

成员

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.Type

一个POOL_EXTENDED_PARAMETER_TYPE枚举值,该值指示参数的类型。

如果此值设置为 PoolExtendedParameterPriority,则此结构的 Priority 成员必须是指示池分配优先级 的EX_POOL_PRIORITY 值。 如果没有足够的空间来容纳指定的优先级,则分配将失败。

DUMMYSTRUCTNAME.Optional

如果此字段设置为 1,则扩展参数是可选的。 如果 Type 不是有效的枚举值,则忽略它。 如果 Type 是有效的枚举,它仍可能被忽略,例如,如果它与其他指定的标志不兼容。

如果此字段设置为 0,则池分配器必须识别 类型 ,否则分配将失败。

DUMMYSTRUCTNAME.Reserved

保留供将来使用。

DUMMYUNIONNAME

DUMMYUNIONNAME.Reserved2

DUMMYUNIONNAME.Reserved3

DUMMYUNIONNAME.Priority

如果 Type 设置为 PoolExtendedParameterPriority,则此字段必须包含有效的 EX_POOL_PRIORITY 值。

DUMMYUNIONNAME.SecurePoolParams

DUMMYUNIONNAME.PreferredNode

如果 Type 设置为 PoolExtendedParameterNumaNode, 则此字段应包含编号为 0 到 N-1 的有效 NUMA 节点索引。 如果该字段还包含MM_ANY_NODE_OK,则调用首选指定的 NUMA 节点,但如果它不可用,则尝试其他节点。 如果未设置MM_ANY_NODE_OK,则当请求的 NUMA 节点无法满足分配时,调用将失败。 此参数仅对通过POOL_FLAG_NON_PAGED池进行的分配有效。

要求

要求
最低受支持的客户端 Windows 10 版本 2004
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)

另请参阅

POOL_EXTENDED_PARAMETER_TYPE

ExAllocatePool3