PEP_ACPI_INITIALIZE_EXTENDED_MEMORY_RESOURCE function (pep_x.h)

The PEP_ACPI_INITIALIZE_EXTENDED_MEMORY_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_EXTENDED_ADDRESS structure.

Syntax

void PEP_ACPI_INITIALIZE_EXTENDED_MEMORY_RESOURCE(
  [in]  BOOLEAN            ResourceUsage,
  [in]  UCHAR              Decode,
  [in]  BOOLEAN            IsMinFixed,
  [in]  BOOLEAN            IsMaxFixed,
  [in]  UCHAR              Cacheable,
  [in]  BOOLEAN            ReadWrite,
  [in]  ULONGLONG          AddressGranularity,
  [in]  ULONGLONG          AddressMinimum,
  [in]  ULONGLONG          AddressMaximum,
  [in]  ULONGLONG          AddressTranslation,
  [in]  ULONGLONG          RangeLength,
  [in]  ULONGLONG          TypeSpecificAttributes,
  [in]  PUNICODE_STRING    DescriptorName,
  [in]  UCHAR              MemoryRangeType,
        BOOLEAN            TranslationTypeNonStatic,
  [out] PPEP_ACPI_RESOURCE Resource
);

Parameters

[in] ResourceUsage

This parameter is copied into the GeneralFlags member of the initialized PEP_ACPI_EXTENDED_ADDRESS structure.

[in] Decode

When set, indicates that this bridge subtractively decodes the address. This applies to top level bridges only.

When not set, indicates that this bridge positively decodes this address.

[in] IsMinFixed

When set, indicates that the minimum address is fixed.

[in] IsMaxFixed

When set, indicates that the maximum address is fixed.

[in] Cacheable

The caching flag for the resource.

Value Meaning
0
Indicates the memory is non-cacheable.
1
Indicates the memory is cacheable.
2
Indicates the memory is cacheable and supports write combining.
3
The memory is cacheable and prefetchable.

[in] ReadWrite

When true, indicates that the resource is available for read/write access. Otherwise, it's read-only.

[in] AddressGranularity

A bit mask indicating which bits have been decoded.

[in] AddressMinimum

For bridges that translate addresses, this indicates the minimum starting address on the secondary side of the bridge.

[in] AddressMaximum

For bridges that translate addresses, this indicates the maximum starting address on the secondary side of the bridge.

[in] AddressTranslation

For bridges that translate addresses across the bridge, this is the address on the primary side.

[in] RangeLength

The length of the address range.

[in] TypeSpecificAttributes

The type-specific attributes for this resource.

[in] DescriptorName

The name of the resource descriptor.

[in] MemoryRangeType

This parameter identifies the type of memory range provided by this resource.

Value Meaning
0
Address range memory: This range is available RAM usable by the operating system.
1
Address range reserved: This range of addresses is in use or reserved by the system and is not to be included in the allocatable memory pool of the operating system's memory manager.
2
Address range ACPI: ACPI Reclaim Memory. This range is available RAM usable by the OS after it reads the ACPI tables.
3
Address Range NVS: ACPI NVS Memory. This range of addresses is in use or reserved by the system and must not be used by the operating system. This range is required to be saved and restored across an NVS sleep.

TranslationTypeNonStatic

When true, indicates that the resource uses type translation. Otherwise, it uses type-static translation.

[out] Resource

This is cast to *PEP_ACPI_EXTENDED_ADDRESS.

Return value

None

Requirements

Requirement Value
Minimum supported client Supported starting with Windows 10.
Target Platform Windows
Header pep_x.h (include Pep_x.h)

See also

PEP_ACPI_EXTENDED_ADDRESS