FIX: Transforms Used in ExtCreateRegion Cause Leak (153808)



The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API), when used with:
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Workstation 3.51

This article was previously published under Q153808

SYMPTOMS

Calling ExtCreateRegion with a transformation matrix in the XForm parameter causes a small leak in system resources.

This can be viewed by watching the Private Bytes reported by the Performance Monitor (perfmon.exe) for the CSRSS process. Each call to ExtCreateRegion results in a slight increase to the allocated private bytes for CSRSS that are not returned to the system, even when the application exits. Several thousand calls to ExtCreateRegion are necessary before the leak is evident in the Performance Monitor.

RESOLUTION

To work around the problem, do not call ExtCreateRegion with a transformation. Always call this function with a NULL parameter for XForm. Similar functionality can be achieved by creating the region without a transformation and then setting a World Transformation with the SetWorldTransform function prior to using the Region.

If the goal is a transformed region without altering World Transformations, the application performs the necessary matrix calculations to transform region data prior to its creation.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Modification Type:MinorLast Reviewed:3/21/2005
Keywords:kbBug kbfix kbOSWinNT400fix KB153808