winnt.h) (MEM_EXTENDED_PARAMETER 结构

表示管理虚拟内存的函数的扩展参数。

语法

typedef struct MEM_EXTENDED_PARAMETER {
  struct {
    DWORD64 Type : MEM_EXTENDED_PARAMETER_TYPE_BITS;
    DWORD64 Reserved : 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS;
  } DUMMYSTRUCTNAME;
  union {
    DWORD64 ULong64;
    PVOID   Pointer;
    SIZE_T  Size;
    HANDLE  Handle;
    DWORD   ULong;
  } DUMMYUNIONNAME;
} MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER;

成员

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.Type

指示参数类型的 MEM_EXTENDED_PARAMETER_TYPE 值。

如果 Type 设置为 MemExtendedParameterAddressRequirements,则 Pointer 必须是指向调用方分配 的MEM_ADDRESS_REQUIREMENTS 结构的指针,该结构指定最低和最高的基址和对齐方式。

如果 Type 设置为 MemExtendedParameterNumaNode,则必须将 ULong64 设置为所需的节点号。

如果 Type 设置为 MemExtendedParameterAttributeFlags,则必须将 ULong64 设置为包含所需标志的值:

标志 含义
MEM_EXTENDED_PARAMETER_NONPAGED_LARGE 0x08 分配是使用大页面映射的。
MEM_EXTENDED_PARAMETER_NONPAGED_HUGE 0x10 分配是使用大型页面映射的。
MEM_EXTENDED_PARAMETER_EC_CODE 0x40 分配将包含与 仿真兼容的 (EC) 代码。

DUMMYSTRUCTNAME.Reserved

保留。

DUMMYUNIONNAME

DUMMYUNIONNAME.ULong64

如果 Type 设置为 MemExtendedParameterNumaNode,则必须将 ULong64 设置为所需的节点号。

DUMMYUNIONNAME.Pointer

如果 Type 设置为 MemExtendedParameterAddressRequirements,则 Pointer 必须是指向调用方分配 的MEM_ADDRESS_REQUIREMENTS 结构的指针,该结构指定最低和最高的基址和对齐方式。

DUMMYUNIONNAME.Size

DUMMYUNIONNAME.Handle

DUMMYUNIONNAME.ULong

要求

   
最低受支持的客户端 Windows 10 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
标头 winnt.h