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,则扩展参数是可选的。 如果 类型 不是有效的枚举值,则忽略它。 如果 类型 是有效的枚举,则仍可能会忽略它,例如,如果它与其他指定的标志不兼容。

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

DUMMYSTRUCTNAME.Reserved

保留以供将来使用。

DUMMYUNIONNAME

DUMMYUNIONNAME.Reserved2

DUMMYUNIONNAME.Reserved3

DUMMYUNIONNAME.Priority

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

DUMMYUNIONNAME.SecurePoolParams

DUMMYUNIONNAME.PreferredNode

如果 类型 设置为 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