Introduction
This article describes an issue that generates an invalid event handle error in Windows Embedded Compact 2013. An update is available to resolve this issue. Before you install this update, all previously issued updates for this product must be installed.
Symptoms
Consider the following scenario:
-
You open a socket from a kernel driver and use an asynchronous IO on the socket in Windows Embedded Compact 2013.
-
You run the WSAEventSelect function together with the FD_CLOSE flag, and then you use the CloseSocket function to close the socket.
-
You call the WaitForSingleObject function that uses the same event handles that are used for the WSAEventSelect function.
In this scenario, the WaitForSingleObject function returns a WAIT_FAILED response. After the call to the CloseSocket function, the WSAEnumNetworkEvents and WSAWaitForMultipleEvents functions fail with a WSA_INVALID_HANDLE error. Note The nonblocking CloseSocket function starts a graceful socket closure. This process may involve some data exchange. The calling driver must be able to use the WSAWaitForMultipleEvents and WSAEnumNetworkEvents functions in order to wait for a graceful socket closure.
Software update information
Download information
Windows Embedded Compact 2013 Monthly Update (April 2015) is now available from Microsoft. To download this Windows Embedded Compact 2013 monthly update, go to Microsoft OEM Online or MyOEM.
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.
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.
Files that are included in this update package
File name |
File size |
Date |
Time |
Path |
---|---|---|---|---|
Afd.exp |
972 |
05-May-2015 |
13:25 |
Public\Common\Oak\Lib\X86\Checked |
Afd.lib |
2,026 |
05-May-2015 |
13:25 |
Public\Common\Oak\Lib\X86\Checked |
Afd.exp |
971 |
05-May-2015 |
13:24 |
Public\Common\Oak\Lib\X86\Retail |
Afd.lib |
2,026 |
05-May-2015 |
13:24 |
Public\Common\Oak\Lib\X86\Retail |
Afd.exp |
970 |
05-May-2015 |
13:24 |
Public\Common\Oak\Lib\X86\Debug |
Afd.lib |
2,026 |
05-May-2015 |
13:24 |
Public\Common\Oak\Lib\X86\Debug |
Afd.exp |
978 |
05-May-2015 |
13:25 |
Public\Common\Oak\Lib\Armv7\Checked |
Afd.lib |
2,022 |
05-May-2015 |
13:25 |
Public\Common\Oak\Lib\Armv7\Checked |
Afd.exp |
973 |
05-May-2015 |
13:25 |
Public\Common\Oak\Lib\Armv7\Retail |
Afd.lib |
2,022 |
05-May-2015 |
13:25 |
Public\Common\Oak\Lib\Armv7\Retail |
Afd.exp |
972 |
05-May-2015 |
13:24 |
Public\Common\Oak\Lib\Armv7\Debug |
Afd.lib |
2,022 |
05-May-2015 |
13:24 |
Public\Common\Oak\Lib\Armv7\Debug |
Afd.rel |
139,915 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\X86\Checked |
Afd.dll |
229,376 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\X86\Checked |
Afd.map |
251,419 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\X86\Checked |
Afd.rel |
42,011 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\X86\Retail |
Afd.dll |
122,880 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\X86\Retail |
Afd.map |
123,985 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\X86\Retail |
Afd.rel |
139,596 |
05-May-2015 |
13:24 |
Public\Common\Oak\Target\X86\Debug |
Afd.dll |
315,392 |
05-May-2015 |
13:24 |
Public\Common\Oak\Target\X86\Debug |
Afd.map |
255,543 |
05-May-2015 |
13:24 |
Public\Common\Oak\Target\X86\Debug |
Afd.rel |
68,256 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\Armv7\Checked |
Afd.dll |
212,992 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\Armv7\Checked |
Afd.map |
514,896 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\Armv7\Checked |
Afd.rel |
23,741 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\Armv7\Retail |
Afd.dll |
110,592 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\Armv7\Retail |
Afd.map |
225,044 |
05-May-2015 |
13:25 |
Public\Common\Oak\Target\Armv7\Retail |
Afd.rel |
67,676 |
05-May-2015 |
13:24 |
Public\Common\Oak\Target\Armv7\Debug |
Afd.dll |
286,720 |
05-May-2015 |
13:24 |
Public\Common\Oak\Target\Armv7\Debug |
Afd.map |
627,031 |
05-May-2015 |
13:24 |
Public\Common\Oak\Target\Armv7\Debug |
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
Learn about the terminology that Microsoft uses to describe software updates.