FIX: Improvement to remote Class of Device information (843371)



The information in this article applies to:

  • Microsoft Windows CE .NET 4.2

SUMMARY

This update provides new support for obtaining Bluetooth remote Class of Device (COD) information.

RESOLUTION

Software update information

A supported software update is now available from Microsoft as Windows CE 4.2 Core OS QFE 843371. 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

This update is supported only if all previously issued updates for this product have also been installed.

Restart requirement

After you install this update, you must perform a clean build of the whole operating system. To perform a clean build of the operating system, follow these steps:
  1. On the Build menu, click Clean.
  2. On the Build menu, click Build Platform.
You do not have to restart your computer after you apply this update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this update has the file attributes (or later) 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 tool in Control Panel.
   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   23-Jun-2004  01:47  4.2.4.622       1,399,544  Wincepb42-040622-kb843371-armv4.exe  
   23-Jun-2004  01:47  4.2.4.622       1,399,544  Wincepb42-040622-kb843371-armv4i.exe
   23-Jun-2004  01:47  4.2.4.622       1,407,736  Wincepb42-040622-kb843371-mipsii.exe
   23-Jun-2004  01:47  4.2.4.622       1,411,832  Wincepb42-040622-kb843371-mipsii_fp.exe
   23-Jun-2004  01:47  4.2.4.622       1,415,928  Wincepb42-040622-kb843371-mipsiv.exe
   23-Jun-2004  01:47  4.2.4.622       1,415,928  Wincepb42-040622-kb843371-mipsiv_fp.exe
   23-Jun-2004  01:47  4.2.4.622       1,366,776  Wincepb42-040622-kb843371-sh3.exe
   23-Jun-2004  01:47  4.2.4.622       1,366,776  Wincepb42-040622-kb843371-sh4.exe
   23-Jun-2004  01:47  4.2.4.622       1,276,664  Wincepb42-040622-kb843371-x86.exe
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
   --------------------------------------------------------------

   Path: Public\Common\Oak\Drivers\Bluetooth\Sample\Btcp
   17-Jun-2004  16:25                     28,409  Btcp.cxx

   Path: Public\Common\Oak\Drivers\Bluetooth\Sample\Btdc
   17-Jun-2004  16:25                     46,706  Btclient.cxx

   Path: Public\Common\Oak\Inc
   17-Jun-2004  16:25                     85,881  Bt_ddi.h
   17-Jun-2004  16:25                      7,147  Bt_ioctl.h

   Path: Public\Common\Oak\Lib\ARMV4\Debug
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:21                     71,270  Btdrt.lib
   17-Jun-2004  16:21                    102,400  Btdrt.pdb
   17-Jun-2004  16:21                    725,460  Bthci.lib
   17-Jun-2004  16:21                    110,592  Bthci.pdb
   17-Jun-2004  16:21                    722,764  Btsysd.lib
   17-Jun-2004  16:21                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\ARMV4\Retail
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:21                     74,150  Btdrt.lib
   17-Jun-2004  16:21                    102,400  Btdrt.pdb
   17-Jun-2004  16:21                    362,350  Bthci.lib
   17-Jun-2004  16:21                    110,592  Bthci.pdb
   17-Jun-2004  16:21                    392,070  Btsysd.lib
   17-Jun-2004  16:21                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\ARMV4I\Debug
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:21                     71,488  Btdrt.lib
   17-Jun-2004  16:21                    102,400  Btdrt.pdb
   17-Jun-2004  16:21                    726,332  Bthci.lib
   17-Jun-2004  16:21                    110,592  Bthci.pdb
   17-Jun-2004  16:22                    723,720  Btsysd.lib
   17-Jun-2004  16:22                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\ARMV4I\Retail
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:21                     74,502  Btdrt.lib
   17-Jun-2004  16:21                    102,400  Btdrt.pdb
   17-Jun-2004  16:21                    363,208  Bthci.lib        
   17-Jun-2004  16:21                    110,592  Bthci.pdb
   17-Jun-2004  16:21                    392,346  Btsysd.lib
   17-Jun-2004  16:21                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\MIPSII\Debug
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:22                     73,724  Btdrt.lib
   17-Jun-2004  16:22                    102,400  Btdrt.pdb
   17-Jun-2004  16:22                    759,294  Bthci.lib
   17-Jun-2004  16:22                    110,592  Bthci.pdb
   17-Jun-2004  16:22                    761,794  Btsysd.lib
   17-Jun-2004  16:22                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\MIPSII\Retail
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:22                     82,836  Btdrt.lib
   17-Jun-2004  16:22                    102,400  Btdrt.pdb
   17-Jun-2004  16:22                    304,286  Bthci.lib
   17-Jun-2004  16:22                    110,592  Bthci.pdb
   17-Jun-2004  16:22                    405,968  Btsysd.lib
   17-Jun-2004  16:22                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\MIPSII_FP\Debug
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:22                     73,734  Btdrt.lib
   17-Jun-2004  16:22                    102,400  Btdrt.pdb
   17-Jun-2004  16:22                    759,302  Bthci.lib
   17-Jun-2004  16:22                    110,592  Bthci.pdb
   17-Jun-2004  16:22                    761,780  Btsysd.lib
   17-Jun-2004  16:22                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\MIPSII_FP\Retail
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:22                     82,848  Btdrt.lib
   17-Jun-2004  16:22                    102,400  Btdrt.pdb
   17-Jun-2004  16:22                    304,296  Bthci.lib
   17-Jun-2004  16:22                    110,592  Bthci.pdb
   17-Jun-2004  16:22                    406,018  Btsysd.lib
   17-Jun-2004  16:22                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\MIPSIV\Debug
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:22                     75,116  Btdrt.lib
   17-Jun-2004  16:22                    102,400  Btdrt.pdb
   17-Jun-2004  16:22                    767,924  Bthci.lib
   17-Jun-2004  16:22                    110,592  Bthci.pdb
   17-Jun-2004  16:22                    769,352  Btsysd.lib
   17-Jun-2004  16:22                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\MIPSIV\Retail
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:22                     83,424  Btdrt.lib
   17-Jun-2004  16:22                    102,400  Btdrt.pdb
   17-Jun-2004  16:22                    304,492  Bthci.lib
   17-Jun-2004  16:22                    110,592  Bthci.pdb
   17-Jun-2004  16:22                    408,098  Btsysd.lib
   17-Jun-2004  16:22                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\MIPSIV_FP\Debug
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:23                     75,126  Btdrt.lib
   17-Jun-2004  16:23                    102,400  Btdrt.pdb
   17-Jun-2004  16:23                    767,934  Bthci.lib
   17-Jun-2004  16:23                    110,592  Bthci.pdb
   17-Jun-2004  16:23                    769,328  Btsysd.lib
   17-Jun-2004  16:23                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\MIPSIV_FP\Retail
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:23                     83,436  Btdrt.lib
   17-Jun-2004  16:23                    102,400  Btdrt.pdb
   17-Jun-2004  16:23                    304,502  Bthci.lib
   17-Jun-2004  16:23                    110,592  Bthci.pdb
   17-Jun-2004  16:23                    408,144  Btsysd.lib
   17-Jun-2004  16:23                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\SH3\Debug
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:23                     64,820  Btdrt.lib
   17-Jun-2004  16:23                    102,400  Btdrt.pdb
   17-Jun-2004  16:23                    666,604  Bthci.lib
   17-Jun-2004  16:23                    110,592  Bthci.pdb
   17-Jun-2004  16:23                    667,318  Btsysd.lib
   17-Jun-2004  16:23                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\SH3\Retail
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:23                     71,870  Btdrt.lib
   17-Jun-2004  16:23                    102,400  Btdrt.pdb
   17-Jun-2004  16:23                    262,930  Bthci.lib
   17-Jun-2004  16:23                    110,592  Bthci.pdb
   17-Jun-2004  16:23                    364,442  Btsysd.lib
   17-Jun-2004  16:23                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\SH4\Debug
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:23                     64,820  Btdrt.lib
   17-Jun-2004  16:23                    102,400  Btdrt.pdb
   17-Jun-2004  16:23                    666,604  Bthci.lib
   17-Jun-2004  16:23                    110,592  Bthci.pdb
   17-Jun-2004  16:23                    667,250  Btsysd.lib
   17-Jun-2004  16:23                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\SH4\Retail
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:23                     71,846  Btdrt.lib
   17-Jun-2004  16:23                    102,400  Btdrt.pdb
   17-Jun-2004  16:23                    262,616  Bthci.lib
   17-Jun-2004  16:23                    110,592  Bthci.pdb
   17-Jun-2004  16:23                    364,268  Btsysd.lib
   17-Jun-2004  16:23                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\X86\Debug
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:21                     52,962  Btdrt.lib
   17-Jun-2004  16:21                    102,400  Btdrt.pdb
   17-Jun-2004  16:21                    638,566  Bthci.lib
   17-Jun-2004  16:21                    110,592  Bthci.pdb
   17-Jun-2004  16:21                    619,240  Btsysd.lib
   17-Jun-2004  16:21                    118,784  Btsysd.pdb

   Path: Public\Common\Oak\Lib\X86\Retail
   16-Jun-2004  18:46                      1,539  Btdrt.def
   17-Jun-2004  16:21                     58,782  Btdrt.lib
   17-Jun-2004  16:21                    102,400  Btdrt.pdb
   17-Jun-2004  16:21                    223,692  Bthci.lib
   17-Jun-2004  16:21                    110,592  Bthci.pdb
   17-Jun-2004  16:21                    319,380  Btsysd.lib
   17-Jun-2004  16:21                    118,784  Btsysd.pdb

   Path: Public\Common\Sdk\Inc
   17-Jun-2004  16:25                     10,803  Bt_api.h

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

The update makes the following software development kit (SDK) function available:

int BthGetRemoteCOD ( BT_ADDR *pbt, unsigned int *pcod );

This function retrieves the remote Class of Device information.
Parameters
pbt
[in] Pointer to the Bluetooth address

pcod
[out] Contains Class of Device information results

Return values
If the call succeeds, the return value is ERROR_SUCCESS. If the function fails, the table at the end of this section shows a list of possible error values.

The update makes the following API for operating system developers available:

BTH_HCI_IOCTL_GET_REMOTE_COD

The IOCTL retrieves the remote Class of Device information.
Parameters
hDeviceContext
[in] Device context handle

fSelector
[in] Equals BTH_HCI_IOCTL_GET_REMOTE_COD

cInBuffer
[in] Equals sizeof(BD_ADDR)

pInBuffer
[in] Contains an aligned Bluetooth address in the BD_ADDR structure

cOutBuffer
[in] Equals sizeof(unsigned int)

pOutBuffer
[out] Contains Class of Device information results

pcDataReturned
[out] Equals cOutBuffer

Return values
If the call succeeds, the return value is ERROR_SUCCESS. If the function fails, the following table shows a list of possible error values:
Error codeDescription
ERROR_NOT_FOUNDThe specified Bluetooth address cannot be found in the active connections.
ERROR_INVALID_PARAMETERThe parameters are not valid.
ERROR_SERVICE_NOT_ACTIVEThe Host Controller Interface (HCI) is not active, or there is no hardware.

Modification Type:MinorLast Reviewed:5/27/2005
Keywords:kbBug kbfix kbQFE KB843371 kbAudDeveloper