FIX: Some waveform audio functions may not be returned when they are called by multiple threads at the same time on a Windows Embedded CE 6.0 R3-based device

Symptoms

Consider the following scenario:

  • You have an application that is running on a Windows Embedded CE 6.0 R3-based device.

  • In the application, multiple threads call any of the following waveform audio functions at the same time by using the same audio device handle:

    • waveOutReset

    • waveInReset

    • waveOutClose

    • waveInClose


In this scenario, you may notice that the waveform audio function is not returned in some threads. Additionally, blocking of the function continues indefinitely.

Cause

This problem occurs because the implementation of the functions is not thread-safe.

Resolution

Software update information

A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Monthly Update February 2012. In the "File information" section, the package file name contains the product version, the date, the Knowledge Base article number, and the processor type. The package file name format is as follows:

Product version-yymmdd-kbnnnnnn-processor typeFor example, Wincepb60-110128-kb2492159-armv4i.msi is the ARMV4i Windows Embedded CE 6.0 Platform Builder fix that is documented in KB article 2492159 and that is contained in the January 2011 monthly update.

To resolve this problem immediately, download this Windows Embedded CE 6.0 Monthly Update from the following Microsoft website.

Microsoft Download Center

Windows Embedded CE 6.0

Prerequisites

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

Restart requirement

After you apply this update, you must perform a clean build of the whole platform. To do this, use one of the following methods:

  • On the Build menu, click Clean Solution, and then click Build Solution.

  • On the Build menu, click Rebuild Solution.

You do not have to restart the computer after you apply this software update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this software update package 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.

Installer files

File name

File size

Date

Time

Wincepb60-120224-kb2676620-mipsiv.msi

569,344

24-Feb-2012

19:59

Wincepb60-120224-kb2676620-mipsiv_fp.msi

569,344

24-Feb-2012

19:59

Wincepb60-120224-kb2676620-sh4.msi

565,248

24-Feb-2012

19:59

Wincepb60-120224-kb2676620-x86.msi

557,056

24-Feb-2012

19:59

Wincepb60-120224-kb2676620-armv4i.msi

569,344

24-Feb-2012

19:59

Wincepb60-120224-kb2676620-mipsii.msi

569,344

24-Feb-2012

19:59

Wincepb60-120224-kb2676620-mipsii_fp.msi

569,344

24-Feb-2012

19:59

Files that are included in this update package

File name

File size

Date

Time

Path

Mmacm.lib

26,708

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Debug

Mmacmui.lib

7,550

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Debug

Mmmix.lib

13,578

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Debug

Mmsnd.lib

8,838

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Debug

Mmwave.lib

102,262

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Debug

Mmacm.lib

31,296

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Retail

Mmacmui.lib

7,790

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Retail

Mmmix.lib

15,174

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Retail

Mmsnd.lib

9,242

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Retail

Mmwave.lib

90,408

22-Feb-2012

06:33

Public\Common\Oak\Lib\Armv4i\Retail

Mmacm.lib

28,300

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Debug

Mmacmui.lib

7,650

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Debug

Mmmix.lib

14,122

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Debug

Mmsnd.lib

8,978

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Debug

Mmwave.lib

102,974

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Debug

Mmacm.lib

32,762

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Retail

Mmacmui.lib

7,906

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Retail

Mmmix.lib

15,656

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Retail

Mmsnd.lib

9,234

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Retail

Mmwave.lib

91,998

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii\Retail

Mmacm.lib

28,306

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Debug

Mmacmui.lib

7,656

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Debug

Mmmix.lib

14,128

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Debug

Mmsnd.lib

8,984

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Debug

Mmwave.lib

102,996

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Debug

Mmacm.lib

32,770

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Retail

Mmacmui.lib

7,918

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Retail

Mmmix.lib

15,664

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Retail

Mmsnd.lib

9,242

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Retail

Mmwave.lib

92,026

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsii_fp\Retail

Mmacm.lib

29,100

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Debug

Mmacmui.lib

7,690

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Debug

Mmmix.lib

14,402

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Debug

Mmsnd.lib

9,054

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Debug

Mmwave.lib

104,822

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Debug

Mmacm.lib

32,766

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Retail

Mmacmui.lib

7,906

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Retail

Mmmix.lib

15,656

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Retail

Mmsnd.lib

9,234

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Retail

Mmwave.lib

93,350

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv\Retail

Mmacm.lib

29,106

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Debug

Mmacmui.lib

7,696

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Debug

Mmmix.lib

14,408

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Debug

Mmsnd.lib

9,060

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Debug

Mmwave.lib

104,844

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Debug

Mmacm.lib

32,774

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Retail

Mmacmui.lib

7,918

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Retail

Mmmix.lib

15,664

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Retail

Mmsnd.lib

9,242

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Retail

Mmwave.lib

93,378

22-Feb-2012

06:34

Public\Common\Oak\Lib\Mipsiv_fp\Retail

Mmacm.lib

25,994

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Debug

Mmacmui.lib

7,504

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Debug

Mmmix.lib

13,242

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Debug

Mmsnd.lib

8,536

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Debug

Mmwave.lib

94,446

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Debug

Mmacm.lib

30,840

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Retail

Mmacmui.lib

7,778

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Retail

Mmmix.lib

14,972

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Retail

Mmsnd.lib

8,906

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Retail

Mmwave.lib

86,124

22-Feb-2012

06:34

Public\Common\Oak\Lib\Sh4\Retail

Mmacm.lib

22,616

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Debug

Mmacmui.lib

8,354

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Debug

Mmmix.lib

12,796

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Debug

Mmsnd.lib

9,210

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Debug

Mmwave.lib

87,020

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Debug

Mmacm.lib

26,778

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Retail

Mmacmui.lib

8,600

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Retail

Mmmix.lib

14,272

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Retail

Mmsnd.lib

9,516

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Retail

Mmwave.lib

77,724

22-Feb-2012

06:33

Public\Common\Oak\Lib\X86\Retail

References

For more information about the waveform audio functions, visit the following Microsoft Developer Network (MSDN) website:

Waveform Audio FunctionsFor more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×