Using the LocalMappedObject Fix
Published: June 11, 2010
Updated: June 11, 2010
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 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.
|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.
The following APIs are intercepted by the LocalMappedObject compatibility fix.
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.