Microsoft KB Archive/821039

= The MSXML components use too much memory in Windows CE .NET 4.2 =

Article ID: 821039

Article Last Modified on 8/31/2007

-

APPLIES TO


 * Microsoft Windows CE .NET 4.2

-



SYMPTOMS
The following problems occur in Windows CE .NET 4.2:
 * The Microsoft XML (MSXML) Document Object Model (DOM) and the XML minimal parser consume up to 100 kilobytes (KB) more RAM than they require for operation.
 * Programs that use MSXML on Windows CE .NET 4.1 do not work on Windows CE .NET 4.2.



CAUSE
The first problem that is described in the &quot;Symptoms&quot; section occurs because memory allocations for an unused garbage-collection feature of the XML minimal parser were left in place. These memory allocations consume 100 KB of RAM unnecessarily. Also, a private heap manager for XML DOM that is faster than the Microsoft Windows CE heap manager is used. The private heap manager is less efficient in terms of RAM usage, and can consume up to an extra 40 KB for simple parsing tasks.

The second problem that is described in the &quot;Symptoms&quot; section occurs because an inadvertent change to a GUID causes problems with backward compatibility with Windows CE .NET 4.1 XML.



Hotfix information
A supported software update is now available from Microsoft as Windows CE 4.2 Platform Builder Monthly Update (821039). You can confirm this by scrolling to the &quot;File information&quot; section of this article. The package file name contains the product version, date, Knowledge Base article number, and processor type. The package file name format is:

Product version-yymmdd-kbnnnnnn-processor type

For example: Wincepb50-060503-kb917590-armv4i.msi is the ARMV4i Windows CE 5.0 Platform Builder fix that is documented in KB article 917590 and that is contained in the May 2006 monthly update. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:

837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products

Prerequisites
Install all prior hotfixes for this version of Windows CE.

Restart requirement
You do not have to restart your computer after you apply this hotfix.

Hotfix replacement information
This hotfix does not replace any other hotfixes.

File information
The English version of this package has the file attributes (or later) that are listed in the following table.   Date         Time   Version    Size        File name --  06-Jun-2003  17:30  4.2.3.605  11,995,752  Wincepb42-030605-kb821039-armv4.exe 06-Jun-2003 17:30  4.2.3.605  12,016,232  Wincepb42-030605-kb821039-armv4i.exe 06-Jun-2003 17:30  4.2.3.605  12,073,576  Wincepb42-030605-kb821039-mipsii.exe 06-Jun-2003 17:30  4.2.3.605  12,077,672  Wincepb42-030605-kb821039-mipsii_fp.exe 06-Jun-2003 17:30  4.2.3.605  12,237,416  Wincepb42-030605-kb821039-mipsiv.exe 06-Jun-2003 17:30  4.2.3.605  12,241,512  Wincepb42-030605-kb821039-mipsiv_fp.exe 06-Jun-2003 17:29  4.2.3.605  11,598,440  Wincepb42-030605-kb821039-sh3.exe 06-Jun-2003 17:29  4.2.3.605  11,602,536  Wincepb42-030605-kb821039-sh4.exe 06-Jun-2003 17:29  4.2.3.605   9,460,328  Wincepb42-030605-kb821039-x86.exe The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.   Date         Time                   Size       File name -  Path: Public\Common\Oak\Lib\Armv4\Debug 03-Jun-2003 15:50                    545,526  Ceosutil.lib

Path: Public\Common\Oak\Lib\Armv4\Retail 03-Jun-2003 15:50                    400,122  Ceosutil.lib

Path: Public\Common\Oak\Lib\Armv4i\Debug 03-Jun-2003 15:51                    546,938  Ceosutil.lib

Path: Public\Common\Oak\Lib\Armv4i\Retail 03-Jun-2003 15:51                    401,586  Ceosutil.lib

Path: Public\Common\Oak\Lib\Mipsii\Debug 03-Jun-2003 15:51                    556,334  Ceosutil.lib

Path: Public\Common\Oak\Lib\Mipsii\Retail 03-Jun-2003 15:51                    407,410  Ceosutil.lib

Path: Public\Common\Oak\Lib\Mipsii_fp\Debug 03-Jun-2003 15:51                    556,374  Ceosutil.lib

Path: Public\Common\Oak\Lib\Mipsii_fp\Retail 03-Jun-2003 15:51                    407,576  Ceosutil.lib

Path: Public\Common\Oak\Lib\Mipsiv\Debug 03-Jun-2003 15:52                    559,548  Ceosutil.lib

Path: Public\Common\Oak\Lib\Mipsiv\Retail 03-Jun-2003 15:51                    410,724  Ceosutil.lib

Path: Public\Common\Oak\Lib\Mipsiv_fp\Debug 03-Jun-2003 15:52                    559,576  Ceosutil.lib

Path: Public\Common\Oak\Lib\Mipsiv_fp\Retail 03-Jun-2003 15:52                    410,890  Ceosutil.lib

Path: Public\Common\Oak\Lib\Sh3\Debug 03-Jun-2003 15:52                    496,342  Ceosutil.lib

Path: Public\Common\Oak\Lib\Sh3\Retail 03-Jun-2003 15:52                    373,190  Ceosutil.lib

Path: Public\Common\Oak\Lib\Sh4\Debug 03-Jun-2003 15:52                    496,274  Ceosutil.lib

Path: Public\Common\Oak\Lib\Sh4\Retail 03-Jun-2003 15:52                    372,836  Ceosutil.lib

Path: Public\Common\Oak\Lib\X86\Debug 03-Jun-2003 15:50                    430,908  Ceosutil.lib

Path: Public\Common\Oak\Lib\X86\Retail 03-Jun-2003 15:50                    348,756  Ceosutil.lib

Path: Public\Ie\Oak\Lib\Armv4\Debug 02-Jun-2003 19:58                  8,617,570  Xmldom.lib 02-Jun-2003 19:58                    241,308  Xmlhttp.lib 02-Jun-2003 19:58                  1,207,836  Xmlmime.lib 02-Jun-2003 19:58                  3,752,552  Xmlminisax.lib 02-Jun-2003 19:57                    200,030  Xmlnetfull.lib 02-Jun-2003 19:57                    106,270  Xmlnetmini.lib 02-Jun-2003 19:58                  2,453,516  Xmlsax.lib 02-Jun-2003 19:58                    144,200  Xmlstubs.lib 02-Jun-2003 19:58                  4,412,120  Xmlxql.lib 02-Jun-2003 19:58                  4,276,620  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Armv4\Retail 02-Jun-2003 19:46                  5,721,574  Xmldom.lib 02-Jun-2003 19:46                    174,338  Xmlhttp.lib 02-Jun-2003 19:46                  1,055,954  Xmlmime.lib 02-Jun-2003 19:46                  2,626,996  Xmlminisax.lib 02-Jun-2003 19:45                    117,582  Xmlnetfull.lib 02-Jun-2003 19:45                     71,652  Xmlnetmini.lib 02-Jun-2003 19:45                  1,495,400  Xmlsax.lib 02-Jun-2003 19:46                    117,940  Xmlstubs.lib 02-Jun-2003 19:46                  2,824,240  Xmlxql.lib 02-Jun-2003 19:46                  2,374,912  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Armv4i\Debug 02-Jun-2003 20:48                  8,647,978  Xmldom.lib 02-Jun-2003 20:47                    241,988  Xmlhttp.lib 02-Jun-2003 20:47                  1,212,008  Xmlmime.lib 02-Jun-2003 20:48                  3,766,288  Xmlminisax.lib 02-Jun-2003 20:46                    200,752  Xmlnetfull.lib 02-Jun-2003 20:46                    106,656  Xmlnetmini.lib 02-Jun-2003 20:47                  2,461,382  Xmlsax.lib 02-Jun-2003 20:47                    144,842  Xmlstubs.lib 02-Jun-2003 20:47                  4,430,180  Xmlxql.lib 02-Jun-2003 20:47                  4,293,514  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Armv4i\Retail 02-Jun-2003 20:35                  5,741,088  Xmldom.lib 02-Jun-2003 20:35                    174,372  Xmlhttp.lib 02-Jun-2003 20:35                  1,058,314  Xmlmime.lib 02-Jun-2003 20:35                  2,638,830  Xmlminisax.lib 02-Jun-2003 20:34                    118,024  Xmlnetfull.lib 02-Jun-2003 20:34                     71,980  Xmlnetmini.lib 02-Jun-2003 20:34                  1,500,056  Xmlsax.lib 02-Jun-2003 20:35                    118,426  Xmlstubs.lib 02-Jun-2003 20:35                  2,837,094  Xmlxql.lib 02-Jun-2003 20:35                  2,385,488  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Mipsii\Debug 02-Jun-2003 21:38                  8,864,458  Xmldom.lib 02-Jun-2003 21:38                    242,924  Xmlhttp.lib 02-Jun-2003 21:38                  1,262,890  Xmlmime.lib 02-Jun-2003 21:38                  3,830,934  Xmlminisax.lib 02-Jun-2003 21:37                    206,808  Xmlnetfull.lib 02-Jun-2003 21:37                    110,784  Xmlnetmini.lib 02-Jun-2003 21:37                  2,515,578  Xmlsax.lib 02-Jun-2003 21:38                    152,602  Xmlstubs.lib 02-Jun-2003 21:38                  4,600,688  Xmlxql.lib 02-Jun-2003 21:38                  4,424,768  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Mipsii\Retail 02-Jun-2003 21:26                  5,829,890  Xmldom.lib 02-Jun-2003 21:25                    186,534  Xmlhttp.lib 02-Jun-2003 21:26                  1,011,812  Xmlmime.lib 02-Jun-2003 21:26                  2,648,908  Xmlminisax.lib 02-Jun-2003 21:24                    122,158  Xmlnetfull.lib 02-Jun-2003 21:24                     74,068  Xmlnetmini.lib 02-Jun-2003 21:25                  1,570,560  Xmlsax.lib 02-Jun-2003 21:26                    104,870  Xmlstubs.lib 02-Jun-2003 21:26                  2,754,378  Xmlxql.lib 02-Jun-2003 21:26                  2,303,800  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Mipsii_fp\Debug 02-Jun-2003 22:30                  8,867,160  Xmldom.lib 02-Jun-2003 22:30                    242,936  Xmlhttp.lib 02-Jun-2003 22:30                  1,263,006  Xmlmime.lib 02-Jun-2003 22:30                  3,833,236  Xmlminisax.lib 02-Jun-2003 22:28                    206,846  Xmlnetfull.lib 02-Jun-2003 22:28                    110,810  Xmlnetmini.lib 02-Jun-2003 22:29                  2,515,916  Xmlsax.lib 02-Jun-2003 22:30                    152,720  Xmlstubs.lib 02-Jun-2003 22:30                  4,600,728  Xmlxql.lib 02-Jun-2003 22:30                  4,426,156  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Mipsii_fp\Retail 02-Jun-2003 22:17                  5,832,988  Xmldom.lib 02-Jun-2003 22:17                    186,544  Xmlhttp.lib 02-Jun-2003 22:17                  1,011,894  Xmlmime.lib 02-Jun-2003 22:17                  2,651,712  Xmlminisax.lib 02-Jun-2003 22:16                    122,186  Xmlnetfull.lib 02-Jun-2003 22:16                     74,086  Xmlnetmini.lib 02-Jun-2003 22:16                  1,570,794  Xmlsax.lib 02-Jun-2003 22:17                    104,950  Xmlstubs.lib 02-Jun-2003 22:17                  2,753,892  Xmlxql.lib 02-Jun-2003 22:17                  2,305,064  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Mipsiv\Debug 02-Jun-2003 23:22                  8,942,906  Xmldom.lib 02-Jun-2003 23:22                    244,692  Xmlhttp.lib 02-Jun-2003 23:22                  1,274,190  Xmlmime.lib 02-Jun-2003 23:22                  3,865,266  Xmlminisax.lib 02-Jun-2003 23:21                    208,756  Xmlnetfull.lib 02-Jun-2003 23:21                    111,876  Xmlnetmini.lib 02-Jun-2003 23:21                  2,534,414  Xmlsax.lib 02-Jun-2003 23:22                    153,818  Xmlstubs.lib 02-Jun-2003 23:22                  4,635,440  Xmlxql.lib 02-Jun-2003 23:22                  4,457,982  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Mipsiv\Retail 02-Jun-2003 23:09                  5,881,920  Xmldom.lib 02-Jun-2003 23:09                    186,946  Xmlhttp.lib 02-Jun-2003 23:09                  1,018,328  Xmlmime.lib 02-Jun-2003 23:09                  2,673,928  Xmlminisax.lib 02-Jun-2003 23:08                    122,782  Xmlnetfull.lib 02-Jun-2003 23:08                     74,504  Xmlnetmini.lib 02-Jun-2003 23:08                  1,576,184  Xmlsax.lib 02-Jun-2003 23:09                    105,458  Xmlstubs.lib 02-Jun-2003 23:09                  2,770,666  Xmlxql.lib 02-Jun-2003 23:09                  2,315,870  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Mipsiv_fp\Debug 03-Jun-2003 00:14                  8,943,290  Xmldom.lib 03-Jun-2003 00:13                    244,704  Xmlhttp.lib 03-Jun-2003 00:14                  1,274,306  Xmlmime.lib 03-Jun-2003 00:14                  3,865,282  Xmlminisax.lib 03-Jun-2003 00:12                    208,794  Xmlnetfull.lib 03-Jun-2003 00:12                    111,902  Xmlnetmini.lib 03-Jun-2003 00:13                  2,534,752  Xmlsax.lib 03-Jun-2003 00:14                    153,928  Xmlstubs.lib 03-Jun-2003 00:14                  4,634,640  Xmlxql.lib 03-Jun-2003 00:14                  4,458,682  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Mipsiv_fp\Retail 03-Jun-2003 00:01                  5,882,112  Xmldom.lib 03-Jun-2003 00:00                    186,956  Xmlhttp.lib 03-Jun-2003 00:01                  1,018,410  Xmlmime.lib 03-Jun-2003 00:01                  2,673,808  Xmlminisax.lib 02-Jun-2003 23:59                    122,810  Xmlnetfull.lib 02-Jun-2003 23:59                     74,522  Xmlnetmini.lib 03-Jun-2003 00:00                  1,576,418  Xmlsax.lib 03-Jun-2003 00:01                    105,538  Xmlstubs.lib 03-Jun-2003 00:01                  2,769,062  Xmlxql.lib 03-Jun-2003 00:01                  2,316,380  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Sh3\Debug 03-Jun-2003 01:05                  8,132,634  Xmldom.lib 03-Jun-2003 01:05                    221,248  Xmlhttp.lib 03-Jun-2003 01:05                  1,139,426  Xmlmime.lib 03-Jun-2003 01:05                  3,503,076  Xmlminisax.lib 03-Jun-2003 01:04                    187,888  Xmlnetfull.lib 03-Jun-2003 01:04                    100,540  Xmlnetmini.lib 03-Jun-2003 01:05                  2,318,642  Xmlsax.lib 03-Jun-2003 01:05                    139,850  Xmlstubs.lib 03-Jun-2003 01:05                  4,218,352  Xmlxql.lib 03-Jun-2003 01:05                  4,078,628  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Sh3\Retail 03-Jun-2003 00:52                  5,330,138  Xmldom.lib 03-Jun-2003 00:52                    165,406  Xmlhttp.lib 03-Jun-2003 00:52                    918,882  Xmlmime.lib 03-Jun-2003 00:52                  2,414,700  Xmlminisax.lib 03-Jun-2003 00:51                    109,808  Xmlnetfull.lib 03-Jun-2003 00:51                     67,468  Xmlnetmini.lib 03-Jun-2003 00:52                  1,391,054  Xmlsax.lib 03-Jun-2003 00:52                     99,958  Xmlstubs.lib 03-Jun-2003 00:52                  2,573,304  Xmlxql.lib 03-Jun-2003 00:52                  2,199,710  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Sh4\Debug 03-Jun-2003 01:58                  8,131,124  Xmldom.lib 03-Jun-2003 01:58                    221,248  Xmlhttp.lib 03-Jun-2003 01:58                  1,139,426  Xmlmime.lib 03-Jun-2003 01:58                  3,501,504  Xmlminisax.lib 03-Jun-2003 01:57                    187,888  Xmlnetfull.lib 03-Jun-2003 01:57                    100,540  Xmlnetmini.lib 03-Jun-2003 01:57                  2,318,642  Xmlsax.lib 03-Jun-2003 01:58                    139,854  Xmlstubs.lib 03-Jun-2003 01:58                  4,217,742  Xmlxql.lib 03-Jun-2003 01:58                  4,078,294  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\Sh4\Retail 03-Jun-2003 01:45                  5,326,850  Xmldom.lib 03-Jun-2003 01:45                    165,100  Xmlhttp.lib 03-Jun-2003 01:45                    918,390  Xmlmime.lib 03-Jun-2003 01:45                  2,412,436  Xmlminisax.lib 03-Jun-2003 01:44                    109,712  Xmlnetfull.lib 03-Jun-2003 01:44                     67,414  Xmlnetmini.lib 03-Jun-2003 01:44                  1,390,764  Xmlsax.lib 03-Jun-2003 01:45                     99,952  Xmlstubs.lib 03-Jun-2003 01:45                  2,571,700  Xmlxql.lib 03-Jun-2003 01:45                  2,198,866  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\X86\Debug 02-Jun-2003 19:09                  6,433,510  Xmldom.lib 02-Jun-2003 19:09                    176,712  Xmlhttp.lib 02-Jun-2003 19:09                    920,076  Xmlmime.lib 02-Jun-2003 19:09                  2,781,670  Xmlminisax.lib 02-Jun-2003 19:08                    148,942  Xmlnetfull.lib 02-Jun-2003 19:08                     80,234  Xmlnetmini.lib 02-Jun-2003 19:09                  1,844,766  Xmlsax.lib 02-Jun-2003 19:09                    108,944  Xmlstubs.lib 02-Jun-2003 19:09                  3,227,672  Xmlxql.lib 02-Jun-2003 19:09                  3,152,236  Xmlxslt.lib

Path: Public\Ie\Oak\Lib\X86\Retail 02-Jun-2003 18:57                  4,717,196  Xmldom.lib 02-Jun-2003 18:57                    138,626  Xmlhttp.lib 02-Jun-2003 18:57                    901,980  Xmlmime.lib 02-Jun-2003 18:57                  2,167,990  Xmlminisax.lib 02-Jun-2003 18:56                     98,796  Xmlnetfull.lib 02-Jun-2003 18:56                     60,946  Xmlnetmini.lib 02-Jun-2003 18:57                  1,226,810  Xmlsax.lib 02-Jun-2003 18:57                     99,808  Xmlstubs.lib 02-Jun-2003 18:57                  2,352,232  Xmlxql.lib 02-Jun-2003 18:57                  1,963,012  Xmlxslt.lib



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.



MORE INFORMATION
After an original equipment manufacturer (OEM) applies this hotfix, the OEM can select the heap manager that is used by XML DOM. To do so, the OEM can use a new registry setting. The OEM can set the following value to use the Windows CE heap manager instead of the XML custom manager:

&quot; &quot;=dword:1

To address the GUID issue after applying this update, the OEM can add the following information to the Windows CE registry (for example, in the Public\Ie\Oak\Files\Ie.reg file):

[HKEY_CLASSES_ROOT\CLSID\{F6D90F11-9C73-11D3-B32E-00C04F990BB4}]

@=&quot;XML DOM Document&quot;

[HKEY_CLASSES_ROOT\CLSID\{F6D90F11-9C73-11D3-B32E-00C04F990BB4}\InProcServer32] @=&quot;msxml3.dll&quot;

&quot;ThreadingModel&quot;=&quot;Both&quot;

[HKEY_CLASSES_ROOT\CLSID\{F6D90F11-9C73-11D3-B32E-00C04F990BB4}\ProgID]

@=&quot;Msxml2.DOMDocument&quot;

[HKEY_CLASSES_ROOT\CLSID\{F6D90F11-9C73-11D3-B32E-00C04F990BB4}\TypeLib]

@=&quot;{f5078f18-c551-11d3-89b9-0000f81fe221}&quot;

[HKEY_CLASSES_ROOT\CLSID\{F6D90F11-9C73-11D3-B32E-00C04F990BB4}\Version]

@=&quot;3.0&quot;

Keywords: kbbug kbfix kbqfe KB821039

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.