DetailPage-MSS-KB

Microsoft small business knowledge base

Article ID: 976038 - Last Review: December 28, 2009 - Revision: 1.1

Hotfix Download Available
View and request hotfix downloads
 

On This Page

SYMPTOMS

Consider the following scenario:
  • You run an application on a 64-bit version of Windows Server 2008, Windows Vista, Windows Server 2008 R2, or Windows 7.
  • An exception that is thrown in a callback routine runs in the user mode.
In this scenario, this exception does not cause the application to crash. Instead, the application enters into an inconsistent state. Then, the application throws a different exception and crashes.

A user mode callback function is typically an application-defined function that is called by a kernel mode component. Examples of user mode callback functions are Windows procedures and hook procedures. These functions are called by Windows to process Windows messages or to process Windows hook events.

RESOLUTION

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, your computer must be running one of the following Windows operating systems:
  • Windows Vista Service Pack 2 (SP2)
  • Windows Server 2008 Service Pack 2 (SP2)
  • Windows 7
  • Windows Server 2008 R2
For more information about how to obtain a Windows Vista service pack, click the following article number to view the article in the Microsoft Knowledge Base:
935791  (http://support.microsoft.com/kb/935791/ ) How to obtain the latest Windows Vista service pack
For more information about how to obtain a Windows Server 2008 service pack, click the following article number to view the article in the Microsoft Knowledge Base:
968849  (http://support.microsoft.com/kb/968849/ ) How to obtain the latest service pack for Windows Server 2008

Installation instructions

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk. By default, this hotfix is not automatically enabled after you apply it. You must manually enable this hotfix at the system level or at the process level. After you enable this hotfix, the exception will be escalated to the Windows kernel to be processed.

When you enable this hotfix at the system level, all the processes that are running in the system are affected. When you enable this hotfix at the process level, only that specific process is affected. The hotfix setting at the process level supersedes the hotfix setting at the system level.

To enable this hotfix at the system level, follow these steps:
  1. In Registry Editor, locate the following registry subkey: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
  2. Create a registry entry of the DWORD value.
  3. Name the new registry entry DisableUserModeCallbackFilter.
  4. Set the value of the DisableUserModeCallbackFilter registry entry to 1.
To enable this hotfix at the process level, follow these steps:
  1. In Registry Editor, locate the following registry subkey: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options or HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
  2. Create a registry subkey.
  3. Name the new registry subkey with the name of the process for which you want to enable the hotfix. For example, if you want to enable this hotfix on the Notepad.exe process, you name the new registry subkey "Notepad.exe."
  4. Under the new registry subkey, create a registry entry of the DWORD value.
  5. Name the new registry entry DisableUserModeCallbackFilter.
  6. Set the value of the DisableUserModeCallbackFilter registry entry to 1.
This hotfix also includes new functions that are exported by Kernel32.DLL. The applications can call these new functions to enable the hotfix at runtime. These new functions and flags are defined as the following:
BOOL
WINAPI
SetProcessUserModeExceptionPolicy(
    __in DWORD dwFlags
    );

BOOL
WINAPI
GetProcessUserModeExceptionPolicy(
    __out LPDWORD lpFlags
    );

#define PROCESS_CALLBACK_FILTER_ENABLED     0x1
By default, a new process is created by using the PROCESS_CALLBACK_FILTER_ENABLED flag set. The hotfix is enabled for a process by clearing the flag:
DWORD dwFlags;
If (GetProcessUserModeExceptionPolicy(&dwFlags)) {
    SetProcessUserModeExceptionPolicy(dwFlags & ~PROCESS_CALLBACK_FILTER_ENABLED); 
}
Important The Registry key is only intended for development scenarios. Independent software vendors (ISV) should not change the Image File Execution Options (IFEO) keys in their installers.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace a previously released hotfix.

File information

The English (United States) version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.
Windows Vista and Windows Server 2008 file information notes
Important Windows Vista hotfixes and Windows Server 2008 hotfixes are included in the same package. However, only "Windows Vista" is listed on the Hotfix Request page. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows Vista" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.
  • The files that apply to a specific product, SR_Level (RTM, SPn), and service branch (LDR, GDR), can be identified by examining the file version numbers as shown in the following table.
    Collapse this tableExpand this table
    VersionProductSR_LevelService branch
    6.0.600 2 . 22xxxWindows Vista and Windows Server 2008SP2LDR
  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the "Additional file information for Windows Server 2008 and for Windows Vista" section. MUM files and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintaining the state of the updated component. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.
For all supported x64-based versions of Windows Server 2008 and of Windows Vista

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformService branch
Kernel32.dll6.0.6002.222671,218,56012-Nov-200917:42x64Not Applicable
Ntdll.dll6.0.6002.222671,582,80012-Nov-200917:48x64Not Applicable
Kernel32.dll6.0.6002.22267858,62412-Nov-200917:41x86WOW
Ntdll.dll6.0.6002.222671,165,59212-Nov-200917:44x86WOW
For all supported IA-64-based versions of Windows Server 2008

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformService branch
Kernel32.dll6.0.6002.222672,185,21615-Nov-200919:11Not ApplicableNot Applicable
Ntdll.dll6.0.6002.222672,564,16815-Nov-200919:17IA-64Not Applicable
Kernel32.dll6.0.6002.22267858,62412-Nov-200917:41x86WOW
Ntdll.dll6.0.6002.222671,165,59212-Nov-200917:44x86WOW
Windows 7 and Windows Server 2008 R2 file information notes
Important Windows 7 hotfixes and Windows Server 2008 R2 hotfixes are included in the same package. However, hotfixes on the Hotfix Request page are listed under both operating systems. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows 7/Windows Server 2008 R2" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.
  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the "Additional file information for Windows Server 2008 R2 and for Windows 7" section. MUM files and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintaining the state of the updated component. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.
For all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformService branch
Kernel32.dll6.1.7600.205731,162,75212-Nov-200920:02x64Not Applicable
Ntdll.dll6.1.7600.205731,737,32012-Nov-200920:09x64Not Applicable
Kernel32.dll6.1.7600.20573837,12012-Nov-200919:55x86WOW
Ntdll.dll6.1.7600.205731,290,24812-Nov-200919:58x86WOW
For all supported IA-64-based versions of Windows Server 2008 R2

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformService branch
Kernel32.dll6.1.7600.205732,137,08812-Nov-200906:16IA-64Not Applicable
Ntdll.dll6.1.7600.205732,783,93612-Nov-200917:35IA-64Not Applicable
Kernel32.dll6.1.7600.20573837,12012-Nov-200919:55x86WOW
Ntdll.dll6.1.7600.205731,290,24812-Nov-200919:58x86WOW

STATUS

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

MORE INFORMATION

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
973460  (http://support.microsoft.com/kb/973460/ ) Exceptions that are thrown from a 64-bit application that is running in the 64-bit editions of Windows Server 2003 or of Windows XP Professional are silently ignored


For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Description of the standard terminology that is used to describe Microsoft software updates

Additional file information

Additional file information for Windows Vista and for Windows Server 2008

Additional files for all supported x64-based versions of Windows Vista and of Windows Server 2008

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Amd64_0f42b3c2ef9b98e4e0113694f5b6e0ca_31bf3856ad364e35_6.0.6002.22267_none_3a25d0ed22bc1163.manifestNot Applicable1,04216-Nov-200908:47Not Applicable
Amd64_8482a23005e0862a289bf92530421180_31bf3856ad364e35_6.0.6002.22267_none_897b8e5f5107b89b.manifestNot Applicable1,03616-Nov-200908:47Not Applicable
Amd64_microsoft-windows-kernel32_31bf3856ad364e35_6.0.6002.22267_none_f212b98e25173c75.manifestNot Applicable4,52312-Nov-200919:23Not Applicable
Amd64_microsoft-windows-ntdll_31bf3856ad364e35_6.0.6002.22267_none_b72bb28ecaf95fdd.manifestNot Applicable4,94112-Nov-200919:21Not Applicable
Wow64_microsoft-windows-kernel32_31bf3856ad364e35_6.0.6002.22267_none_fc6763e05977fe70.manifestNot Applicable5,32112-Nov-200919:16Not Applicable
Wow64_microsoft-windows-ntdll_31bf3856ad364e35_6.0.6002.22267_none_c1805ce0ff5a21d8.manifestNot Applicable5,48912-Nov-200919:16Not Applicable
Additional files for all supported IA-64-based versions of Windows Server 2008

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ia64_2ca2c45892704f67f7164870e4e836e0_31bf3856ad364e35_6.0.6002.22267_none_8469c4720eb53166.manifestNot Applicable1,03416-Nov-200909:34Not Applicable
Ia64_2e50ad2da37fc561ef1032e617e28a72_31bf3856ad364e35_6.0.6002.22267_none_15781e5470d1544c.manifestNot Applicable1,04016-Nov-200909:34Not Applicable
Ia64_microsoft-windows-kernel32_31bf3856ad364e35_6.0.6002.22267_none_95f5c2006cb7d43b.manifestNot Applicable4,52016-Nov-200907:29Not Applicable
Ia64_microsoft-windows-ntdll_31bf3856ad364e35_6.0.6002.22267_none_5b0ebb011299f7a3.manifestNot Applicable4,93816-Nov-200907:26Not Applicable
Wow64_microsoft-windows-kernel32_31bf3856ad364e35_6.0.6002.22267_none_fc6763e05977fe70.manifestNot Applicable5,32112-Nov-200919:16Not Applicable
Wow64_microsoft-windows-ntdll_31bf3856ad364e35_6.0.6002.22267_none_c1805ce0ff5a21d8.manifestNot Applicable5,48912-Nov-200919:16Not Applicable

Additional file information for Windows 7 and for Windows Server 2008 R2

Additional files for all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Amd64_5e392545c9a18105cff0a2efe23e2a60_31bf3856ad364e35_6.1.7600.20573_none_5db473d3e6c0bf11.manifestNot Applicable69712-Nov-200923:12Not Applicable
Amd64_625f3821eba98e599b5350ce96abbd10_31bf3856ad364e35_6.1.7600.20573_none_4304eef1c5718360.manifestNot Applicable69712-Nov-200923:12Not Applicable
Amd64_6f9f53bbe34b08091f9928c95cd9ca1c_31bf3856ad364e35_6.1.7600.20573_none_61255b3d6f3ce1e6.manifestNot Applicable70012-Nov-200923:12Not Applicable
Amd64_d77bc388858b80e8087fccc49e9aaee8_31bf3856ad364e35_6.1.7600.20573_none_f2146af022d93f27.manifestNot Applicable70012-Nov-200923:12Not Applicable
Amd64_microsoft-windows-kernel32_31bf3856ad364e35_6.1.7600.20573_none_f04544f18913dda7.manifestNot Applicable4,91612-Nov-200920:57Not Applicable
Amd64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7600.20573_none_b55e3df22ef6010f.manifestNot Applicable3,80612-Nov-200920:51Not Applicable
Wow64_microsoft-windows-kernel32_31bf3856ad364e35_6.1.7600.20573_none_fa99ef43bd749fa2.manifestNot Applicable4,65312-Nov-200920:11Not Applicable
Wow64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7600.20573_none_bfb2e8446356c30a.manifestNot Applicable3,56612-Nov-200920:12Not Applicable
Additional files for all supported IA-64-based versions of Windows Server 2008 R2

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ia64_2056e786283e5e81d21b2654f53c34ef_31bf3856ad364e35_6.1.7600.20573_none_ae1830105ff1dc0b.manifestNot Applicable69812-Nov-200923:12Not Applicable
Ia64_625f3821eba98e599b5350ce96abbd10_31bf3856ad364e35_6.1.7600.20573_none_e6e7f7640d121b26.manifestNot Applicable69612-Nov-200923:12Not Applicable
Ia64_d77bc388858b80e8087fccc49e9aaee8_31bf3856ad364e35_6.1.7600.20573_none_95f773626a79d6ed.manifestNot Applicable69912-Nov-200923:12Not Applicable
Ia64_fc2af028cf85d69aac408f33c478239a_31bf3856ad364e35_6.1.7600.20573_none_4aa16236c09a93f7.manifestNot Applicable69512-Nov-200923:12Not Applicable
Ia64_microsoft-windows-kernel32_31bf3856ad364e35_6.1.7600.20573_none_94284d63d0b4756d.manifestNot Applicable4,91412-Nov-200920:49Not Applicable
Ia64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7600.20573_none_59414664769698d5.manifestNot Applicable3,80412-Nov-200920:46Not Applicable
Package_for_kb976038_rtm~31bf3856ad364e35~ia64~~6.1.1.0.mumNot Applicable1,95812-Nov-200923:12Not Applicable
Wow64_microsoft-windows-kernel32_31bf3856ad364e35_6.1.7600.20573_none_fa99ef43bd749fa2.manifestNot Applicable4,65312-Nov-200920:11Not Applicable
Wow64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7600.20573_none_bfb2e8446356c30a.manifestNot Applicable3,56612-Nov-200920:12Not Applicable

APPLIES TO
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 Service Pack 2, when used with:
    • Windows Server 2008 Datacenter without Hyper-V
    • Windows Server 2008 Enterprise without Hyper-V
    • Windows Server 2008 Standard without Hyper-V
    • Windows Server 2008 Datacenter
    • Windows Server 2008 Enterprise
    • Windows Server 2008 Standard
  • Windows Vista Enterprise 64-bit Edition
  • Windows Vista Home Basic 64-bit Edition
  • Windows Vista Home Premium 64-bit Edition
  • Windows Vista Ultimate 64-bit Edition
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Starter
  • Windows 7 Ultimate
Keywords: 
kbqfe kbhotfixserver kbsurveynew kbautohotfix kbexpertiseinter kbbug kbfix KB976038
Share
Additional support options
Ask The Microsoft Small Business Support Community
Contact Microsoft Small Business Support
Find Microsoft Small Business Support Certified Partner
Find a Microsoft Store For In-Person Small Business Support