FIX: An exception may occur when a kernel driver executes the GetProcAddress function in Windows Embedded Compact 7: "An exception of 'Access Violation' occurs in Kernel"

Symptoms

Consider the following scenario:

  • You create a Windows Embedded Compact 7-based operating system image for an SH4 architecture device or for a MIPS architecture device.

  • You configure the OEMRamTable structure to use the new physical memory architecture of the device.

  • You have a kernel mode driver that passes an invalid pointer in an API. For example, the kernel mode driver passes a pointer to the GetProcAddress(NULL, L"GetNLSVersion"); ) function in the API.


In this scenario, you may receive the following exception:

An exception of 'Access Violation' occurs in Kernel.


Cause

This problem may occur because of an issue in the IsStaticMappedAddress function. When the address of a parameter is invalid, the IsStaticMappedAddress function incorrectly returns TRUE.

Resolution

Software update information

A supported software update is now available from Microsoft as Windows Embedded Compact 7 Monthly Update August 2012. In the "File information" section, the package file name contains the processor type.

Note This Windows Embedded Compact 7 monthly update is available for download from the following Microsoft Download Center website:

Windows Embedded Compact 7 Updates

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.

Files that are included in this update package

File name

File size

Date

Time

Path

Nkmain.lib

3,551,570

17-Aug-2012

19:11

public\common\oak\lib\armv5\checked

Nkprmain.lib

3,609,184

17-Aug-2012

19:11

public\common\oak\lib\armv5\checked

Nkmain.lib

3,942,256

17-Aug-2012

19:10

public\common\oak\lib\armv5\debug

Nkprmain.lib

4,012,864

17-Aug-2012

19:10

public\common\oak\lib\armv5\debug

Nkmain.lib

2,428,642

17-Aug-2012

19:10

public\common\oak\lib\armv5\retail

Nkprmain.lib

2,486,934

17-Aug-2012

19:10

public\common\oak\lib\armv5\retail

Nkmain.lib

3,551,504

17-Aug-2012

19:13

public\common\oak\lib\armv6\checked

Nkprmain.lib

3,609,118

17-Aug-2012

19:13

public\common\oak\lib\armv6\checked

Nkmain.lib

3,941,484

17-Aug-2012

19:12

public\common\oak\lib\armv6\debug

Nkprmain.lib

4,012,092

17-Aug-2012

19:12

public\common\oak\lib\armv6\debug

Nkmain.lib

2,428,612

17-Aug-2012

19:12

public\common\oak\lib\armv6\retail

Nkprmain.lib

2,486,904

17-Aug-2012

19:12

public\common\oak\lib\armv6\retail

Nkmain.lib

3,541,112

17-Aug-2012

19:15

public\common\oak\lib\armv7\checked

Nkprmain.lib

3,598,506

17-Aug-2012

19:15

public\common\oak\lib\armv7\checked

Nkmain.lib

3,931,138

17-Aug-2012

19:14

public\common\oak\lib\armv7\debug

Nkprmain.lib

4,000,910

17-Aug-2012

19:14

public\common\oak\lib\armv7\debug

Nkmain.lib

2,422,096

17-Aug-2012

19:14

public\common\oak\lib\armv7\retail

Nkprmain.lib

2,480,380

17-Aug-2012

19:14

public\common\oak\lib\armv7\retail

Nkmain.lib

3,255,094

17-Aug-2012

19:17

public\common\oak\lib\mipsii\checked

Nkprmain.lib

3,301,354

17-Aug-2012

19:17

public\common\oak\lib\mipsii\checked

Nkmain.lib

3,688,456

17-Aug-2012

19:16

public\common\oak\lib\mipsii\debug

Nkprmain.lib

3,757,268

17-Aug-2012

19:16

public\common\oak\lib\mipsii\debug

Nkmain.lib

2,193,726

17-Aug-2012

19:16

public\common\oak\lib\mipsii\retail

Nkprmain.lib

2,240,892

17-Aug-2012

19:16

public\common\oak\lib\mipsii\retail

Nkmain.lib

3,313,372

17-Aug-2012

19:19

public\common\oak\lib\mipsii_fp\checked

Nkprmain.lib

3,359,684

17-Aug-2012

19:19

public\common\oak\lib\mipsii_fp\checked

Nkmain.lib

3,765,310

17-Aug-2012

19:18

public\common\oak\lib\mipsii_fp\debug

Nkprmain.lib

3,834,162

17-Aug-2012

19:18

public\common\oak\lib\mipsii_fp\debug

Nkmain.lib

2,254,510

17-Aug-2012

19:18

public\common\oak\lib\mipsii_fp\retail

Nkprmain.lib

2,301,618

17-Aug-2012

19:18

public\common\oak\lib\mipsii_fp\retail

Nkmain.lib

3,001,456

17-Aug-2012

19:20

public\common\oak\lib\sh4\checked

Nkprmain.lib

3,039,006

17-Aug-2012

19:20

public\common\oak\lib\sh4\checked

Nkmain.lib

3,307,670

17-Aug-2012

19:20

public\common\oak\lib\sh4\debug

Nkprmain.lib

3,357,714

17-Aug-2012

19:20

public\common\oak\lib\sh4\debug

Nkmain.lib

2,065,740

17-Aug-2012

19:20

public\common\oak\lib\sh4\retail

Nkprmain.lib

2,107,632

17-Aug-2012

19:20

public\common\oak\lib\sh4\retail

Nkmain.lib

3,079,024

17-Aug-2012

19:22

public\common\oak\lib\x86\checked

Nkprmain.lib

3,121,150

17-Aug-2012

19:22

public\common\oak\lib\x86\checked

Nkmain.lib

3,219,268

17-Aug-2012

19:22

public\common\oak\lib\x86\debug

Nkprmain.lib

3,267,132

17-Aug-2012

19:22

public\common\oak\lib\x86\debug

Nkmain.lib

2,026,764

17-Aug-2012

19:22

public\common\oak\lib\x86\retail

Nkprmain.lib

2,069,210

17-Aug-2012

19:22

public\common\oak\lib\x86\retail

References

For more information about how to build an operating system image, go to the following Microsoft Developer Network (MSDN) website:

Build an OS (Windows Embedded Compact 7)For more information about the OEMRamTable structure, go to the following MSDN website:

OEMRamTable (Windows Embedded Compact 7)For more information about the GetProcAddress function, go to the following MSDN website:

GetProcAddress (Windows Embedded Compact 7)For 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.

×