Updates installed by Windows Embedded CE 6.0 R3

 

2009 Microsoft Corporation. All rights reserved.

  

By Component:

 

Component:  AFD

Component:  Bluetooth

Component:  Bluetooth HID Host Profile

Note:

Do not call DeactivateDevice on the HID driver immediately after issuing BTHHID_IOCTL_HIDDisconnect - the driver will disconnect both L2CAP links as it unloads, and potentially cause issues with virtually cabled devices and the associated qualification tests. When using the btenum sample, you may need to insert a Sleep() call after sending BTHHID_IOCTL_HIDDisconnect to allow the remote device time to gracefully disconnect.

Component:  CETK

Component:  Codecs

The registry key to handle dual channel MPEG audio playback:

[HKLM\Software\Microsoft\DirectX\DirectShow\MPEGAudio]
"DualMode"=dword:<value>
 

Where the value is:

 

0 - enable dual channel playback
1 - left channel only
2 - right channel only

The default value is 1.

Component:  COMM

            The following registry key enables this fix:

 

                [HKLM\COMM\DomainDiscovery]
                "UseNetbiosLast"=dword:1

 

       If the registry key is not set, NetBIOS is queried first and when fails, LDAP is queried afterwards. When the registry key is set and set to

       a non-zero value, LDAP is queried first and when fails, NetBIOS is queried afterwards.

Component:  Compiler

Component:  Core GWES

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\common\oak\inc\pwinuser.h

Component:  CoreOS

Component:  Credential Manager

Component:  DCOM

Component:  DHCP

Component:  DirectX

Note:

The Output Protection Level (OPL) Handler Sample Code is available only to licensees of Microsoft® Windows Media® DRM 10 for Microsoft Windows Embedded CE 6.0 Operating System for Portable Devices. The Sample code is provided under, and subject to, the terms of the MICROSOFT OEM CUSTOMER LICENSE AGREEMENT FOR EMBEDDED SYSTEMS, and any Amendments thereto.

The OPL Handler Sample Code can be obtained as part of the Microsoft® Windows Media® DRM 10 for Portable Devices for Microsoft Windows Embedded CE 6.0 package. If you need to acquire this package please contact wincedrm@microsoft.com or wmla@microsoft.com for further information and instructions.

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\common\oak\drivers\display\ddgpe\ddhinit.cpp
     public\common\oak\drivers\display\ragexl\driver\halcaps.cpp
     public\common\oak\drivers\display\smi3dr\halcaps.cpp
     public\common\oak\drivers\display\vgaflat\halcaps.cpp
     public\common\sdk\inc\ddraw.h

     public\common\oak\inc\winddi.h

     public\common\oak\inc\ddgpe.h
     public\common\oak\inc\ddrawi.h

Component:  Display

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\common\oak\drivers\display\gpe\swblt.cpp

Component:  Drivers

Component:  Filesys

Component:  FSD

Component:  FSDMGR

Component:  HTTPSYS

Component:  Internet Explorer

Component:  Imaging

Component:  JScript

Component:  Kerberos

Kerberos uses REDIR for DC discovery and would fail in environments without WINS servers. Kerberos may fail on a server that has multiple NIC cards.

This update changes the maximum buffer size in SPNEGO to depend on the maximum Kerberos token size and sets this value to 12000.

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\common\cesysgen\makefile

Component:  Kernel

Component:  LDAP

Component:  MSFLASH

The reserved blocks must be contiguous, except for bad blocks.  The first non-reserved, non-bad block is the start location that the flash MDD manages (the start location contains a bad block table, followed by partition table).  The flash MDD will already reserve some blocks for backup in case blocks go bad.  If a customer wants backup blocks for the reserved blocks, then the backup blocks will also need to be marked reserved.

In order to create reserved areas in flash outside of the very beginning, a reserved partition needs to be created by specifying the FLASH_PARTITION_FLAG_RESERVED flag to CreatePartition (IOCTL_FLASH_CREATE_PARTITION).  This partition will be ignored by the OS.  When partitions are created, the logical block count of the partition size has to be specified, and the partitions need to be put in the next free available space, skipping bad blocks.  Exact physical block locations cannot be specified for partitions because this makes handling bad blocks more complicated. 

Component:  MSXML

Component:  .NET Compact Framework 2.0 SP2

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\netcfv2\cesysgen\makefile

Component:  .NET Compact Framework 3.5

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\netcfv35\catalog\netcfv35.pbcxml
     public\netcfv35\catalog\1033\netcfv35strings.pbcxml
     public\netcfv35\catalog\1041\netcfv35strings.pbcxml
     public\netcfv35\cesysgen\makefile
     public\netcfv35\cesysgen\sources

Component:  Network Projector

Registry entries need to be added to support OEM request for custom entries in capabilities blob.
OEM can specify 1-3 resolutions using the following:


[HKEY_LOCAL_MACHINE\Software\Microsoft\PictorService\OEMCustomization]


"ScreenWidth1" = dword:XX
"ScreenHeight1" = dword:YY
"ScreenWidth2" = dword:XX
"ScreenHeight2" = dword:YY
"ScreenWidth3" = dword:XX
"ScreenHeight3" = dword:YY

Where the dword XX and YY are numbers in hex.

For example:

[HKEY_LOCAL_MACHINE\Software\Microsoft\PictorService\OEMCustomization]
"ScreenWidth1" = dword:320
"ScreenHeight1" = dword:258

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\rdp\oak\inc\pictorservice.h

Component:  NK

Component:  NTLM

Component:  POOM

Component:  OSTools

Component:  Power Manager

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\common\oak\drivers\pm\mdd\pmdevice.cpp

Component:  RDP

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\rdp\cesysgen\makefile
     public\rdp\oak\dirs
     public\rdp\oak\cetsc\cetscoem.cpp
     public\rdp\oak\cetsc\cetscoem.h
     public\rdp\oak\cetsc\cetscoem.rc
     public\rdp\oak\cetsc\cetsc_rc.h
     public\rdp\oak\cetsc\makefile
     public\rdp\oak\cetsc\propadv.cpp
     public\rdp\oak\cetsc\propadv.h
     public\rdp\oak\cetsc\propaux1.cpp
     public\rdp\oak\cetsc\propaux1.h
     public\rdp\oak\cetsc\propaux2.cpp
     public\rdp\oak\cetsc\propaux2.h
     public\rdp\oak\cetsc\propdisplay.cpp
     public\rdp\oak\cetsc\propdisplay.h
     public\rdp\oak\cetsc\proplocalres.cpp
     public\rdp\oak\cetsc\proplocalres.h
     public\rdp\oak\cetsc\propperf.cpp
     public\rdp\oak\cetsc\propperf.h
     public\rdp\oak\cetsc\proprun.cpp
     public\rdp\oak\cetsc\proprun.h
     public\rdp\oak\cetsc\sh.h
     public\rdp\oak\cetsc\shapi.cpp
     public\rdp\oak\cetsc\sources
     public\rdp\oak\cetsc\stdafx.cpp
     public\rdp\oak\cetsc\stdafx.h
     public\rdp\oak\cetsc\tscsetting.h
     public\rdp\oak\cetsc\resources\auth.ico
     public\rdp\oak\cetsc\resources\colordepth.ico
     public\rdp\oak\cetsc\resources\computer.ico
     public\rdp\oak\cetsc\resources\devices.ico
     public\rdp\oak\cetsc\resources\experience.ico
     public\rdp\oak\cetsc\resources\folder.ico
     public\rdp\oak\cetsc\resources\keybd.ico
     public\rdp\oak\cetsc\resources\monitor.ico
     public\rdp\oak\cetsc\resources\run.ico
     public\rdp\oak\cetsc\resources\sound.ico
     public\rdp\oak\uit\shell\taskman\wbtcnctn.cpp
     public\rdp\v6\oak\inc\oem_settings.h
     public\rdp\v6\oak\inc\tsccerts.h
     public\rdp\v6\oak\inc\tsperf.h
     public\rdp\v6\sdk\inc\cchannel.h
     public\rdp\v6\sdk\inc\mstsax.h
     public\rdp\v6\sdk\inc\pchannel.h

     public\rdp\oak\cetsc\rdrwarnoem.cpp
     public\rdp\oak\cetsc\rdrwarnoem.h

     public\rdp\oak\cetsc\authuioem.cpp
     public\rdp\oak\cetsc\authuioem.h

     public\rdp\oak\cetsc\dlgoem.cpp
     public\rdp\oak\cetsc\dlgoem.h     

     public\rdp\v6\oak\inc\oem_settings.h

Component:  Redirector

                [HKEY_LOCAL_MACHINE\Comm\Redir]

                "UseServerLocTimeAsFileModTimeStamp"=dword:1

 

Component:  RNDIS

Component:  SDCard

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\common\oak\drivers\sdcard\sdclientdrivers\sdmemory\sdmemmain.cpp
     public\common\oak\drivers\sdcard\sdclientdrivers\sdmemory\sdmemory.h

Component:  Security

Component:  Servers

Component:  Shell

The following registry key modification is required:

     [HKEY_LOCAL_MACHINE\Software\Microsoft\Color]

     "ShColor"=hex:\ff,00,00,00 ; COLOR_ALERT

To specify Ring of fire in RED , the above registry settings are required.
The Key values can be of any color and can be modified by the user.

Component:  SMB

 

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\wceshellfe\oak\ctlpnl\intl2\cplpriv.h

     public\shell\oak\hpc\ceshell\api\iconcache.cpp

Component:  SMB

Component:  SNMP

Component:  Source Files

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\common\oak\drivers\usb\class\storage\disk\scsi2\disk.c
     public\common\oak\drivers\usb\class\storage\disk\scsi2\scsi2.c
     public\common\oak\drivers\usb\hcd\usb20\ehci\cehcd.cpp
     public\common\oak\drivers\usb\hcd\usb20\ehci\chw.cpp
     public\common\oak\drivers\usb\hcd\usb20\ehci\chw.h

Component:  SQL Compact

Overview:

SQL Compact update provides SQL Compact 3.5 SP1 functionality in a new catalog item.  This new catalog item is in the “Application and Services Development” node next to the “Speech Interface” catalog.  Microsoft Visual Studio 2008 SP1 should be used for developing applications for SQL Compact 3.5 SP1.

Details:

The SQL Compact catalog item group contains the following items:

Adding support for .NET Compact Framework v3.5:

·        Users can add support for .NET CF v3.5 in two ways.  In sqlcompact.bat under “%_WINCEROOT%\public\cebase\oak\misc\” change the following lines from “if not "%SYSGEN_DOTNETV2_HEADLESS%"=="1" set SYSGEN_DOTNETV2=1toif not "%SYSGEN_DOTNETV35_HEADLESS%"=="1" set SYSGEN_DOTNETV35=1.  Or from the catalog items view in PB remove .NET CF v2.0 and select .NET CF v3.5.

·        .NET CF v3.5 is available as a Platform Builder 6.0 update.  More information for .NET CF v3.5 is provided here - http://support.microsoft.com/kb/947561.

Installation Instruction:

 

1.     Close Visual Studio 2005, IDE for PB 6.0.

2.     Run the update.

3.     Run Visual Studio 2005 and add the new SQL Compact Catalog item to your workspace.

 

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\sqlcompact\dirs
     public\sqlcompact\sources.cmn
     public\sqlcompact\cesysgen\makefile
     public\sqlcompact\cesysgen\sources

Component:  SQLCE

A new thread is introduced to process TCP send packets which runs at same priority as NDIS thread.
For this solution to work NDIS and the new thread should be at same priority in your miniport driver.

If it needs to be changed, it should be done by changing it thru existing registry setting, so that both threads can be at same priority.


Existing registry for NDIS thread priority:


     [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NDIS]
     "Priority256"=dword:74     // default priority is 116 (hex 74)


New registries are being introduced.
Enhanced TCP is on by default. Following registry key turns it off:


     [HKEY_LOCAL_MACHINE\Comm\Tcpip\Parms]
     "EnhanceTCPSend"=dword:0     // Turn off enhanced TCP send


For each platform these two registries need to be tuned. With proper tuning of these two parameters, maximum TCP send throughput can be achieved..
Start with default value. Increase the buffer size and decrease the wakeup interval.


     [HKEY_LOCAL_MACHINE\Comm\Tcpip\Parms]
     "SendThreadWakeupInterval"=dword:4     //Send thread wakeup interval. This interval is used for send thread to sleep before it send out the packets.


It helps to accumulate the packets and send them in one shot. Default is 4 ms. Maximum value is 10ms and minimum is 1ms.


     [HKEY_LOCAL_MACHINE\Comm\AFD]
     "TCPSendQuota"= dword:10000     // 64K by default. This is the maximum buffer AFD can use to send packets. Max is 512K and Min is 16K


TCP Receive registry setting.
The new TCP receive code attempts for a "short path" from ARP to TCP receive. It cuts lots of instructions in the path. By default it is turned on.

Use following registry to turn off this feature:


     [HKEY_LOCAL_MACHINE\Comm\Tcpip\Parms]
     "AttemptFastPath"=dword:0     // Turn off fast path

Component:  TimeSVC

Component:  Tools

Component:  UDFS

Component:  Unimodem

[HKEY_LOCAL_MACHINE\Drivers\Unimodem\Settings]

“DCCRequest”

“DCCResponse”

The string value to use for these needs to be set to whatever the server expects. If a server that responds to the “CLIENT” connection request with “SERVER” instead of the standard “CLIENTSERVER”, CE client would set DCCResponse to “SERVER”. If the server does not exchange strings for connection setup, the CE client would set DCCRequest and DCCResponse to an empty string.

 

As an example, the device specific settings for the direct cable connect TAPI/Unimodem device on a CEPC’s COM1: would be under

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial1\Unimodem\Settings]

Component:  URLMON

Component:  USB

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\common\oak\drivers\usb\hcd\ohcd2\cpipe.cpp

     public\common\oak\drivers\usb\hcd\common\cdevice.cpp
     public\common\oak\drivers\usb\hcd\usb20\usb2com\cdevice.cpp

     public\common\oak\drivers\usb\class\usbser\usbser.cpp
     public\common\oak\drivers\usb\class\usbser\userdev.cpp
     public\common\oak\drivers\usb\hcd\usb20\ehci\cpipe.h
     public\common\oak\drivers\usb\hcd\usb20\ehci\trans.cpp
     public\common\oak\drivers\usb\hcd\usb20\ehci\trans.h
     public\common\oak\drivers\usb\usbd\usbddrv.cpp

     public\common\oak\drivers\usb\hcd\usb20\ehci\chw.cpp

Component:  USB Function

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\common\oak\drivers\usbfn\controller\mdd\descript.h
     public\common\oak\drivers\usbfn\controller\mdd\enum.cpp

     public\common\oak\drivers\usbfn\class\storage\emulation\scsi2\block\block.cpp
     public\common\oak\drivers\usbfn\class\storage\inc\proxy.h
     public\common\oak\drivers\usbfn\class\storage\transport\bot\bot.cpp

Component:  VoIP

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:
     

     public\fp_voip\oak\phone\phoneapp\phonecore\voipcall.cpp
     public\fp_voip\oak\phone\phoneapp\phonecore\voipcall.hpp

     public\fp_voip\oak\phone\homescreen\calendarpanel.cpp
     public\fp_voip\oak\phone\bootstrapsample\main.cpp
     public\fp_voip\oak\phone\common\provisioningapi\networkprovisioning.cpp
     public\fp_voip\oak\phone\common\provisioningapi\timeprovisioning.cpp
     public\fp_voip\oak\phone\common\utils\networkutils.cpp
     public\fp_voip\oak\phone\common\utils\timeutilities.cpp
     public\fp_voip\oak\phone\inc\controls.hpp
     public\fp_voip\oak\phone\inc\delayload.hpp
     public\fp_voip\oak\phone\inc\networkutils.hpp
     public\fp_voip\oak\phone\inc\timeutilities.hpp
     public\fp_voip\oak\phone\inc\voipnotify.hpp
     public\fp_voip\oak\phone\settings\networkdnssettings.cpp
     public\fp_voip\oak\phone\settings\timesettings.cpp
     public\fp_voip\oak\phone\settings\timesettings.hpp

     public\fp_voip\oak\codecs\dirs

     public\fp_voip\oak\codecs\dirs
     public\fp_voip\oak\codecs\h263parse\h263dmoprops.h
     public\fp_voip\oak\codecs\h263parse\h263voip.cpp
     public\fp_voip\oak\codecs\h263parse\h263voip.h
     public\fp_voip\oak\codecs\h263parse\makefile
     public\fp_voip\oak\codecs\h263parse\sources
     public\fp_voip\oak\codecs\h264parse\h264voip.cpp
     public\fp_voip\oak\codecs\h264parse\h264voip.h
     public\fp_voip\oak\codecs\h264parse\makefile
     public\fp_voip\oak\codecs\h264parse\sources

     public\fp_voip\oak\phone\common\utils\sources
     public\fp_voip\oak\phone\resource\portrait\dialogmenus_port.rc

Component:  Waveform Audio

Component:  WININET

Component:  WSD

Component:  WSDAPI