RTFW_LOCAL_MEMORY_CONFIGURATION Structure

RTFW_LOCAL_MEMORY_CONFIGURATION represents the configuration of the RTX64 Subsystem and its use of Local Memory MSpaces.

Syntax

typedef struct _RTFW_LOCAL_MEMORY_CONFIGURATION(
    size_t          Size;
    bool            EnableLocalMemory;
    unsigned int    SystemExtMSpacePoolMinimumSize;
    bool            SystemExtMSpacePoolCommit;
    bool            SystemMSpacesPoolExpandable;
    unsigned int    SystemMSpacesPoolExpandSize;
    bool            SystemMSpacesPoolShrinkable;
    unsigned int    ProcessExtMSpacePoolMinimumSize;
    bool            ProcessMSpacesPoolExpandable;
    unsigned int    ProcessMSpacesPoolExpandSize;
    bool            ProcessMSpacesPoolShrinkable;
    bool            ZeroMemoryAtAllocation;
    unsigned int    SystemIntMSpacePoolMinimumSize;
    unsigned int    ProcessIntMSpacePoolMinimumSize;
} RTFW_LOCAL_MEMORY_CONFIGURATION, * PRTFW_LOCAL_MEMORY_CONFIGURATION;

Members

Size

The size of this structure (in bytes). Client code must set this member to sizeof(RTFW_LOCAL_MEMORY_CONFIGURATION) before passing this structure to any function.

EnableLocalMemory

If true, the real-time Subsystem memory allocation uses Local Memory MSpaces. If false, the Subsystem allocates memory by requesting it from Windows and all MSpace values are ignored.

IMPORTANT! Local memory pool allocation is deterministic when the pool has enough memory to complete the request. Windows memory allocation from the nonpaged pool is not deterministic.

NOTE: This configuration parameter applies to all real-time processes. It cannot be overridden for a specific process.

SystemExtMSpacePoolMinimumSize

The minimum size, in kilobytes, of the local pool within the system process external MSpace. This value must be within the range 64 KB to 4,194,292 KB.

SystemExtMSpacePoolCommit

Commits the local pool within the system process external MSpace at startup.

SystemMSpacesPoolExpandable

If true, the local pool within the system process MSpace is expandable by the amount specified by SystemMSpacesPoolExpandSize when depleted.

SystemMSpacesPoolExpandSize

The size, in kilobytes, by which to expand the local pool within the system process MSpace when SystemMSpacesPoolExpandable is set to true. This value must be within the range 64 KB to 4,194,292 KB. It cannot be 0.

SystemMSpacesPoolShrinkable

If true, the local pool within the system process MSpace is shrinkable.

ProcessExtMSpacePoolMinimumSize

The minimum size, in kilobytes, of the local pool within the RTSS process external MSpace. This value must be within the range 64 KB to 4,194,292 KB.

ProcessMSpacesPoolExpandable

If true, the local pool within the RTSS process MSpace is expandable by the amount specified by ProcessMSpacesPoolExpandSize when depleted.

ProcessMSpacesPoolExpandSize

The size, in kilobytes, by which to expand the local pool within the RTSS process MSpace when ProcessMSpacesPoolExpandable is set to true. This value must be within the range 64 KB to 4,194,292 KB.

ProcessMSpacesPoolShrinkable

If true, the local pool within the RTSS process MSpace is shrinkable.

ZeroMemoryAtAllocation

If true, the memory allocated by malloc or similar C-Runtime functions is initialized to zero according to the C99 specification, otherwise the memory is not initialized. See Zeroing Memory at Allocation for more information.

SystemIntMSpacePoolMinimumSize

The minimum size, in kilobytes, of the local pool within the system process internal MSpace. This value must be within the range 64 KB to 4,194,292 KB.

ProcessIntMSpacePoolMinimumSize

The minimum size, in kilobytes, of the local pool within the RTSS process internal MSpace. This value must be within the range 64 KB to 4,194,292 KB.

Requirements

Minimum Required Version

RTX64 3.4

API changes for RTX64 4.0

  • Renamed parameter UseLocalMemory to EnableLocalMemory

Added these members:

  • SystemExtMSpacePoolMinimumSize
  • SystemExtMSpacePoolCommit
  • SystemMSpacesPoolExpandable
  • SystemMSpacesPoolExpandSize
  • SystemMSpacesPoolShrinkable
  • ProcessExtMSpacePoolMinimumSize
  • ProcessMSpacesPoolExpandable
  • ProcessMSpacesPoolExpandSize
  • ProcessMSpacesPoolShrinkable
  • ZeroMemoryAtAllocation
  • SystemIntMSpacePoolMinimumSize
  • ProcessIntMSpacePoolMinimumSize
Header RtfwAPI.h
Library RtfwAPI.lib

See Also:

Memory Management

Local Memory