考慮下列案例:
- 您在 Windows Server 2008]、 [Windows Vista]、 [Windows Server 2008 R2] 或 [Windows 7 的 64 位元版本上執行的應用程式。
- 回呼常式中擲回的例外狀況是在使用者模式中執行。
在這種情況下這個例外狀況並不會導致應用程式當機。而是,應用程式進入到不一致的狀態。然後,應用程式就會擲回其他例外狀況,並當機。
使用者模式回呼函式通常是由核心模式元件呼叫的應用程式定義函式。使用者模式回呼函式的範例是 Windows 程序,而且勾點程序。這些函式是由 Windows 處理 Windows 訊息,或處理 Windows 攔截事件呼叫。
Hotfix 資訊
Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。請您僅在遇到本文所述問題的系統上安裝這個 Hotfix。這個 Hotfix 可能會接受額外的測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個包含此 Hotfix 的軟體更新。
如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果本節 Does Not Appear 請連絡[ Microsoft 客戶服務 ] 和 [ 支援 ] 以取得此 Hotfix。
附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。
必要條件
若要將這個 Hotfix 您的電腦必須執行下列 Windows 作業系統之一:
- Windows Vista Service Pack 2 (SP2)
- Windows Server 2008 Service Pack 2 (SP2)
- Windows 7
- Windows Server 2008 R2
如需有關如何取得 Windows Vista Service Pack 的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
935791?
(http://support.microsoft.com/kb/935791/
)
如何取得最新的 Windows Vista Service Pack
如需有關如何取得 Windows Server 2008 Service Pack 的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
968849?
(http://support.microsoft.com/kb/968849/
)
如何取得最新的 Service Pack 的 Windows Server 2008
安裝指示
警告如果您修改登錄不當使用 「 登錄編輯程式 」,或使用另一個方法,可能會發生嚴重的問題。這些問題可能需要重新安裝作業系統。Microsoft 無法保證可以解決這些問題。您必須自己承擔修改登錄所造成的風險。預設情況下,此 Hotfix 不會自動啟用您套用之後。您必須手動啟用此 Hotfix,在系統層級或處理序層級。啟用此 Hotfix 之後的例外狀況會擴大 Windows 核心處理。
啟用 [系統層級此 Hotfix 時系統中執行的所有處理序會受到影響。啟用 [在處理序層級此 Hotfix 時該特定處理序會受到影響。在處理序層級的 [Hotfix] 設定會取代 Hotfix 設定系統層級。
若要以便在系統層級此 Hotfix 請依照下列步驟執行:
- 在 [登錄編輯程式] 中,找出下列登錄子機碼:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
- 建立 DWORD 值 的登錄項的目。
- 命名新的登錄項目 DisableUserModeCallbackFilter。
- 設定 DisableUserModeCallbackFilter 登錄項目至 1 數值。
若要以便在處理序層級此 Hotfix 請依照下列步驟執行:
- 在 [登錄編輯程式] 中,找出下列登錄子機碼:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
] 或 [HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
。 - 建立一個登錄子機碼。
- 使用您想要啟用此 Hotfix 的處理序的名稱命名新的登錄子機碼。比方說如果想啟用此 Hotfix Notepad.exe 程序上的您命名新的登錄子機碼"Notepad.exe]。
- 新登錄子機碼下,建立 DWORD 值 的登錄項的目。
- 命名新的登錄項目 DisableUserModeCallbackFilter。
- 設定 DisableUserModeCallbackFilter 登錄項目至 1 數值。
這個 Hotfix 也包括 Kernel32.DLL 會匯出的新函式。應用程式可以呼叫這些新函式來啟用執行階段時,Hotfix。這些新函式和旗標定義為下列:
BOOL
WINAPI
SetProcessUserModeExceptionPolicy(
__in DWORD dwFlags
);
BOOL
WINAPI
GetProcessUserModeExceptionPolicy(
__out LPDWORD lpFlags
);
#define PROCESS_CALLBACK_FILTER_ENABLED 0x1 依預設值,使用 PROCESS_CALLBACK_FILTER_ENABLED 旗標集來建立新的處理程序。Hotfix 啟用處理程序的清除旗標:
DWORD dwFlags;
If (GetProcessUserModeExceptionPolicy(&dwFlags)) {
SetProcessUserModeExceptionPolicy(dwFlags & ~PROCESS_CALLBACK_FILTER_ENABLED);
}
重要 的登錄機碼只為了開發案例。獨立軟體廠商 (ISV) 不應該變更他們的安裝程式中影像檔案執行選項 (IFEO) 索引鍵。
重新啟動需求
套用此 Hotfix 之後,您必須重新啟動電腦。
Hotfix 取代資訊
此 Hotfix 不會取代先前發行的 Hotfix。
檔案資訊
此 Hotfix 的英文 (美國) 版本安裝檔案具有下列表格中所列的屬性。日期及這些檔案的時間會列出在定位國際時間 (UTC)。日期和本機電腦上這些檔案的時間,顯示以您當地的時間與目前的日光節約時間 (DST) 偏差。此外,日期和時間可能會執行時變更您在檔案上的某些作業。
Windows Vista 和 Windows Server 2008 的檔案資訊註記
重要Windows Vista Hotfix 與 「 Windows Server 2008 Hotfix 都包含在相同的套件 。不過,只有 「 Windows Vista 」 會列在 Hotfix 要求] 頁面上。若要要求套用至一或兩個作業系統的 Hotfix 套件,選取列在 「 Windows Vista 」 下,在頁面的 Hotfix。永遠請參考 < 適用於 > 一節來判斷每個 Hotfix 會套用到的實際作業系統的文件中。
- 檔案套用至特定產品 SR_Level (RTM,SPn) 及服務分支 (LDR、 GDR) 可確認藉由檢查檔案版本號碼,如下列表格所示。
摺疊此表格展開此表格
| 版本 | 產品 | SR_Level | 服務分支 |
|---|
| 6.0.600 2。 22xxx | Windows Vista 及 Windows Server 2008 | sp2 | LDR |
- 資訊清單檔案 (.manifest) 和 [MUM (.mum) 安裝檔案的每個環境都是"其他檔案 Windows Server 2008,以及 Windows Vista 資訊 > 一節中 listed separately。MUM 檔案] 及 [資訊清單檔案] 和 [關聯的安全性類別目錄 (.cat) 檔案是非常重要維護更新元件的狀態。安全性類別目錄檔案的屬性並未列出,是使用 Microsoft 數位簽章簽署。
所有支援 x64 為主的 Windows Server 2008 及版本的 Windows Vista x
摺疊此表格展開此表格
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 | 服務分支 |
|---|
| Kernel32.dll | 6.0.6002.22267 | 1,218,560 | 12-Nov-2009 | 17: 42 | x64 | 不適用 |
| Ntdll.dll | 6.0.6002.22267 | 1,582,800 | 12-Nov-2009 | 17: 48 | x64 | 不適用 |
| Kernel32.dll | 6.0.6002.22267 | 858,624 | 12-Nov-2009 | 17: 41 | x86 | 哇 |
| Ntdll.dll | 6.0.6002.22267 | 1,165,592 | 12-Nov-2009 | 17: 44 | x86 | 哇 |
所有支援 IA x64 為主的 Windows Server 2008 的版本
摺疊此表格展開此表格
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 | 服務分支 |
|---|
| Kernel32.dll | 6.0.6002.22267 | 2,185,216 | 15-Nov-2009 | 19: 11 | 不適用 | 不適用 |
| Ntdll.dll | 6.0.6002.22267 | 2,564,168 | 15-Nov-2009 | 19: 17 | IA 64 | 不適用 |
| Kernel32.dll | 6.0.6002.22267 | 858,624 | 12-Nov-2009 | 17: 41 | x86 | 哇 |
| Ntdll.dll | 6.0.6002.22267 | 1,165,592 | 12-Nov-2009 | 17: 44 | x86 | 哇 |
Windows 7 和 Windows Server 2008 R2 檔案資訊筆記
重要Windows 7 Hotfix 與 「 Windows Server 2008 R2 Hotfix 都包含在相同的套件 。不過,Hotfix 要求] 頁面中的 Hotfix 會列在這兩個作業系統下。若要要求套用至一或兩個作業系統的 Hotfix 套件,選取列在 [Windows 7/Windows Server 2008 R2] 下,在頁面的 Hotfix。永遠請參考 < 適用於 > 一節來判斷每個 Hotfix 會套用到的實際作業系統的文件中。
- 資訊清單檔案 (.manifest) 和 [MUM (.mum) 安裝檔案的每個環境都是"其他檔案資訊的 Windows Server 2008 R2 和 Windows 7 」 一節中 listed separately。MUM 檔案] 及 [資訊清單檔案] 和 [關聯的安全性類別目錄 (.cat) 檔案是非常重要維護更新元件的狀態。安全性類別目錄檔案的屬性並未列出,是使用 Microsoft 數位簽章簽署。
所有支援 x x64 為主的版本和 Windows Server 2008 R2 的 Windows 7
摺疊此表格展開此表格
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 | 服務分支 |
|---|
| Kernel32.dll | 6.1.7600.20573 | 1,162,752 | 12-Nov-2009 | 20: 02 | x64 | 不適用 |
| Ntdll.dll | 6.1.7600.20573 | 1,737,320 | 12-Nov-2009 | 20: 09 | x64 | 不適用 |
| Kernel32.dll | 6.1.7600.20573 | 837,120 | 12-Nov-2009 | 19: 55 | x86 | 哇 |
| Ntdll.dll | 6.1.7600.20573 | 1,290,248 | 12-Nov-2009 | 19: 58 | x86 | 哇 |
所有支援 IA x64 為主的 Windows Server 2008 R2 的版本
摺疊此表格展開此表格
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 | 服務分支 |
|---|
| Kernel32.dll | 6.1.7600.20573 | 2,137,088 | 12-Nov-2009 | 06: 16 | IA 64 | 不適用 |
| Ntdll.dll | 6.1.7600.20573 | 2,783,936 | 12-Nov-2009 | 17: 35 | IA 64 | 不適用 |
| Kernel32.dll | 6.1.7600.20573 | 837,120 | 12-Nov-2009 | 19: 55 | x86 | 哇 |
| Ntdll.dll | 6.1.7600.20573 | 1,290,248 | 12-Nov-2009 | 19: 58 | x86 | 哇 |
Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。
如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
973460?
(http://support.microsoft.com/kb/973460/
)
在 64 位元版本或 Windows XP 商用版的 Windows Server 2003 中執行的 64 位元應用程式從擲回的例外狀況會以無訊息模式忽略
如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684?
(http://support.microsoft.com/kb/824684/
)
用來描述 Microsoft 軟體更新標準術語的說明
其他檔案資訊
對於 Windows Vista 和 Windows Server 2008 的其他檔案資訊
所有支援的其他檔案 x x64 為主的 Windows Vista 及版本的 Windows Server 2008
摺疊此表格展開此表格
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 |
|---|
| Amd64_0f42b3c2ef9b98e4e0113694f5b6e0ca_31bf3856ad364e35_6.0.6002.22267_none_3a25d0ed22bc1163.manifest | 不適用 | 1,042 | 16-Nov-2009 | 08: 47 | 不適用 |
| Amd64_8482a23005e0862a289bf92530421180_31bf3856ad364e35_6.0.6002.22267_none_897b8e5f5107b89b.manifest | 不適用 | 1,036 | 16-Nov-2009 | 08: 47 | 不適用 |
| Amd64_microsoft 視窗 kernel32_31bf3856ad364e35_6.0.6002.22267_none_f212b98e25173c75.manifest | 不適用 | 4,523 | 12-Nov-2009 | 19: 23 | 不適用 |
| Amd64_microsoft 視窗 ntdll_31bf3856ad364e35_6.0.6002.22267_none_b72bb28ecaf95fdd.manifest | 不適用 | 4,941 | 12-Nov-2009 | 19: 21 | 不適用 |
| Wow64_microsoft 視窗 kernel32_31bf3856ad364e35_6.0.6002.22267_none_fc6763e05977fe70.manifest | 不適用 | 5,321 | 12-Nov-2009 | 19: 16 | 不適用 |
| Wow64_microsoft 視窗 ntdll_31bf3856ad364e35_6.0.6002.22267_none_c1805ce0ff5a21d8.manifest | 不適用 | 5,489 | 12-Nov-2009 | 19: 16 | 不適用 |
在支援的 IA-64 版本的 Windows Server 2008 上所有額外的檔案
摺疊此表格展開此表格
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 |
|---|
| Ia64_2ca2c45892704f67f7164870e4e836e0_31bf3856ad364e35_6.0.6002.22267_none_8469c4720eb53166.manifest | 不適用 | 1,034 | 16-Nov-2009 | 09: 34 | 不適用 |
| Ia64_2e50ad2da37fc561ef1032e617e28a72_31bf3856ad364e35_6.0.6002.22267_none_15781e5470d1544c.manifest | 不適用 | 1,040 | 16-Nov-2009 | 09: 34 | 不適用 |
| Ia64_microsoft 視窗 kernel32_31bf3856ad364e35_6.0.6002.22267_none_95f5c2006cb7d43b.manifest | 不適用 | 4,520 | 16-Nov-2009 | 07: 29 | 不適用 |
| Ia64_microsoft 視窗 ntdll_31bf3856ad364e35_6.0.6002.22267_none_5b0ebb011299f7a3.manifest | 不適用 | 4,938 | 16-Nov-2009 | 07: 26 | 不適用 |
| Wow64_microsoft 視窗 kernel32_31bf3856ad364e35_6.0.6002.22267_none_fc6763e05977fe70.manifest | 不適用 | 5,321 | 12-Nov-2009 | 19: 16 | 不適用 |
| Wow64_microsoft 視窗 ntdll_31bf3856ad364e35_6.0.6002.22267_none_c1805ce0ff5a21d8.manifest | 不適用 | 5,489 | 12-Nov-2009 | 19: 16 | 不適用 |
對於 Windows 7 和 Windows Server 2008 R2 的其他檔案資訊
所有支援的其他檔案 x x64 為主的版本和 Windows Server 2008 R2 的 Windows 7
摺疊此表格展開此表格
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 |
|---|
| Amd64_5e392545c9a18105cff0a2efe23e2a60_31bf3856ad364e35_6.1.7600.20573_none_5db473d3e6c0bf11.manifest | 不適用 | 697 | 12-Nov-2009 | 23: 12 | 不適用 |
| Amd64_625f3821eba98e599b5350ce96abbd10_31bf3856ad364e35_6.1.7600.20573_none_4304eef1c5718360.manifest | 不適用 | 697 | 12-Nov-2009 | 23: 12 | 不適用 |
| Amd64_6f9f53bbe34b08091f9928c95cd9ca1c_31bf3856ad364e35_6.1.7600.20573_none_61255b3d6f3ce1e6.manifest | 不適用 | 700 | 12-Nov-2009 | 23: 12 | 不適用 |
| Amd64_d77bc388858b80e8087fccc49e9aaee8_31bf3856ad364e35_6.1.7600.20573_none_f2146af022d93f27.manifest | 不適用 | 700 | 12-Nov-2009 | 23: 12 | 不適用 |
| Amd64_microsoft 視窗 kernel32_31bf3856ad364e35_6.1.7600.20573_none_f04544f18913dda7.manifest | 不適用 | 4,916 | 12-Nov-2009 | 20: 57 | 不適用 |
| Amd64_microsoft 視窗 ntdll_31bf3856ad364e35_6.1.7600.20573_none_b55e3df22ef6010f.manifest | 不適用 | 3,806 | 12-Nov-2009 | 20: 51 | 不適用 |
| Wow64_microsoft 視窗 kernel32_31bf3856ad364e35_6.1.7600.20573_none_fa99ef43bd749fa2.manifest | 不適用 | 4,653 | 12-Nov-2009 | 20: 11 | 不適用 |
| Wow64_microsoft-視窗-ntdll_31bf3856ad364e35_6.1.7600.20573_none_bfb2e8446356c30a.manifest | 不適用 | 3,566 | 12-Nov-2009 | 20: 12 | 不適用 |
對於所有其他檔案支援 IA x64 為主的 Windows Server 2008 R2 的版本
摺疊此表格展開此表格
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 |
|---|
| Ia64_2056e786283e5e81d21b2654f53c34ef_31bf3856ad364e35_6.1.7600.20573_none_ae1830105ff1dc0b.manifest | 不適用 | 698 | 12-Nov-2009 | 23: 12 | 不適用 |
| Ia64_625f3821eba98e599b5350ce96abbd10_31bf3856ad364e35_6.1.7600.20573_none_e6e7f7640d121b26.manifest | 不適用 | 696 | 12-Nov-2009 | 23: 12 | 不適用 |
| Ia64_d77bc388858b80e8087fccc49e9aaee8_31bf3856ad364e35_6.1.7600.20573_none_95f773626a79d6ed.manifest | 不適用 | 699 | 12-Nov-2009 | 23: 12 | 不適用 |
| Ia64_fc2af028cf85d69aac408f33c478239a_31bf3856ad364e35_6.1.7600.20573_none_4aa16236c09a93f7.manifest | 不適用 | 695 | 12-Nov-2009 | 23: 12 | 不適用 |
| Ia64_microsoft 視窗 kernel32_31bf3856ad364e35_6.1.7600.20573_none_94284d63d0b4756d.manifest | 不適用 | 4,914 | 12-Nov-2009 | 20: 49 | 不適用 |
| Ia64_microsoft 視窗 ntdll_31bf3856ad364e35_6.1.7600.20573_none_59414664769698d5.manifest | 不適用 | 3,804 | 12-Nov-2009 | 20: 46 | 不適用 |
| Package_for_kb976038_rtm ~ 31bf3856ad364e35 ~ ia64 ~ ~ 6.1.1.0.mum | 不適用 | 1,958 | 12-Nov-2009 | 23: 12 | 不適用 |
| Wow64_microsoft 視窗 kernel32_31bf3856ad364e35_6.1.7600.20573_none_fa99ef43bd749fa2.manifest | 不適用 | 4,653 | 12-Nov-2009 | 20: 11 | 不適用 |
| Wow64_microsoft-視窗-ntdll_31bf3856ad364e35_6.1.7600.20573_none_bfb2e8446356c30a.manifest | 不適用 | 3,566 | 12-Nov-2009 | 20: 12 | 不適用 |