Using the LocalMappedObject Fix

Applies To: Windows 7, Windows Vista

This section includes information about using the LocalMappedObject compatibility fix, including the associated issues, the intercepted APIs, and the recommended fix for a permanent solution.

LocalMappedObject

LocalMappedObject fixes an issue whereby an application attempts to create a file mapping object in the Global namespace by requiring the SeCreateGlobal privilege, which is not available to either Standard Users or Protected Administrators.

This compatibility fix replaces the Global\ prefix with the Local\ prefix, before calling the original API.

Important

This compatibility fix changes the semantics of the application. A formerly computer-wide object is now only available for the session, and as such, might change the application behavior.

Investigating the Issue

Application-related issues that can be resolved by applying the LocalMappedObject fix are typically detected by using the Standard User Analyzer (SUA) tool, which is provided by the Application Compatibility Toolkit (ACT). SUA can detect if an application is attempting to use the Global\ prefix and, if so, offer this compatibility fix as a resolution that allows the application to function correctly with a Standard User or Protected Administrator account.

Intercepted APIs

The following APIs are intercepted by the LocalMappedObject compatibility fix.

  • CreateFileMappingA

  • CreateFileMappingW

  • OpenFileMappingA

  • OpenFileMappingW

Fixing Your Code

Applications that require computer-wide file mapping objects should be created from either an elevated Administrator application, or from a privileged service application. In addition, applications should be modified so that they do not require elevated privileges if not required, replacing the Global\ namespace with the Local\ namespace where allowed by the semantics of the application.

See Also

Concepts

Windows Vista and Windows 7 Operating Systems