// wdm.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
Specifies extended parameter information that the driver provides when calling ExAllocatePool3.
DUMMYSTRUCTNAMEDUMMYSTRUCTNAME.TypeA POOL_EXTENDED_PARAMETER_TYPE enumeration value that indicates the type of the parameter.
If this value is set to PoolExtendedParameterPriority, then the Priority member of this structure must be an EX_POOL_PRIORITY value indicating the priority of the pool allocation. If there is not enough space for the specified priority the allocation fails.
DUMMYSTRUCTNAME.OptionalIf this field is set to 1, the extended parameter is optional. If Type is not a valid enumeration value, it is ignored. If Type is a valid enumeration, it may still be ignored, for example if it is incompatible with other specified flags.
If this field is set to 0, Type must be recognized by the pool allocator or the allocation fails.
DUMMYSTRUCTNAME.ReservedReserved for future use.
DUMMYUNIONNAMEDUMMYUNIONNAME.Reserved2DUMMYUNIONNAME.Reserved3DUMMYUNIONNAME.PriorityIf Type is set to PoolExtendedParameterPriority, this field must contain a valid EX_POOL_PRIORITY value.
DUMMYUNIONNAME.SecurePoolParamsDUMMYUNIONNAME.PreferredNodeIf Type is set to PoolExtendedParameterNumaNode this field should contain a valid NUMA node index numbered 0 through N-1. If the field also contains MM_ANY_NODE_OK, the call prefers the specified NUMA node but tries others if it is unavailable. If MM_ANY_NODE_OK is not set, the call fails if the requested NUMA node cannot satisfy the allocation. This parameter is valid only for allocations made with POOL_FLAG_NON_PAGED pool.