SetThreadErrorMode 函式 (errhandlingapi.h)
控制系統是否會處理指定的嚴重錯誤類型,或呼叫執行緒是否會處理它們。
語法
BOOL SetThreadErrorMode(
[in] DWORD dwNewMode,
[out] LPDWORD lpOldMode
);
參數
[in] dwNewMode
執行緒錯誤模式。 此參數可以是下列一或多個值。
值 | 意義 |
---|---|
|
使用系統預設值,也就是顯示所有錯誤對話方塊。 |
|
系統不會顯示 critical-error-handler 訊息方塊。 相反地,系統會將錯誤傳送至呼叫執行緒。
最佳做法是所有應用程式都會在啟動時呼叫全進程 SetErrorMode 函式,且參數為 SEM_FAILCRITICALERRORS 。 這是為了防止錯誤強制回應對話方塊停止應用程式。 |
|
系統不會顯示 [Windows 錯誤報告] 對話方塊。 |
|
OpenFile函式在找不到檔案時不會顯示訊息方塊。 相反地,錯誤會傳回給呼叫端。 此錯誤模式會覆寫 OF_PROMPT 旗標。 |
[out] lpOldMode
如果函式成功,此參數會設定為執行緒先前的錯誤模式。 此參數可以是 Null。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
每個進程都有相關聯的錯誤模式,指出應用程式如何回應嚴重錯誤。 執行緒會繼承其執行所在進程的錯誤模式。 若要擷取進程錯誤模式,請使用 GetErrorMode 函式。 若要擷取呼叫執行緒的錯誤模式,請使用 GetThreadErrorMode 函式。
需求
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | errhandlingapi.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |