werReportSubmit 函式 (werapi.h)
提交指定的 Windows 錯誤報告 (WER) 報表。
語法
HRESULT WerReportSubmit(
[in] HREPORT hReportHandle,
[in] WER_CONSENT consent,
[in] DWORD dwFlags,
[out, optional] PWER_SUBMIT_RESULT pSubmitResult
);
參數
[in] hReportHandle
報表的句柄。 WerReportCreate 函式會傳回此句柄。
[in] consent
同意狀態。 此參數可以是下列 WER_CONSENT列舉類型的 其中一個值。
值 | 意義 |
---|---|
WerConsentAlwaysPrompt 4 |
使用者一律會要求提交要求。 |
WerConsentApproved 2 |
使用者已核准提交要求。 |
WerConsentDenied 3 |
用戶已拒絕提交要求。 |
WerConsentMax 5 |
WER_CONSENT列舉類型的最大值。 |
WerConsentNotAsked 1 |
使用者未要求同意。 |
[in] dwFlags
此參數可以是下列一或多個值。
值 | 意義 |
---|---|
WER_SUBMIT_ADD_REGISTERED_DATA 16 |
將 WerSetFlags、 WerRegisterFile 和 WerRegisterMemoryBlock 所註冊的數據新增至報表。 |
WER_SUBMIT_HONOR_RECOVERY 1 |
接受應用程式的任何復原註冊。 如需詳細資訊,請參閱 RegisterApplicationRecoveryCallback。 |
WER_SUBMIT_HONOR_RESTART 2 |
接受應用程式的任何重新啟動註冊。 如需詳細資訊,請參閱 RegisterApplicationRestart。 |
WER_SUBMIT_NO_ARCHIVE 256 |
請勿封存報表。 |
WER_SUBMIT_NO_CLOSE_UI 64 |
不要顯示重要報表的關閉對話框。 |
WER_SUBMIT_NO_QUEUE 128 |
請勿將報表排入佇列。 如果有適當的使用者同意,報表會立即傳送給 Microsoft;否則會捨棄報表。 您可以將此旗標用於非關鍵報表。 報表會針對任何需要將報表排入佇列的動作捨棄。 例如,如果計算機在您提交報表時脫機,則會捨棄報表。 此外,例如,如果沒有足夠的同意 (,報表的數據部分需要同意) ,則會捨棄報表。 |
WER_SUBMIT_OUTOFPROCESS 32 |
繁衍另一個提交報表的程式。 呼叫線程會遭到封鎖,直到函式傳回為止。 注意: 視窗訊息將會進行幫浦,讓呼叫線程上的UI活動不會遭到封鎖。 |
WER_SUBMIT_OUTOFPROCESS_ASYNC 1024 |
繁衍另一個程式以提交報告,並立即從此函數調用傳回。 請注意, pSubmitResult 參數的內容未定義,而且當報表完成或完成狀態時,無法查詢。 |
WER_SUBMIT_QUEUE 4 |
將報表新增至 WER 佇列,而不通知使用者。 報告只會排入佇列—報告 (傳送至 Microsoft) ,稍後會根據使用者的同意層級進行。 |
WER_SUBMIT_SHOW_DEBUG 8 |
顯示偵錯按鈕。 |
WER_SUBMIT_START_MINIMIZED 512 |
初始UI最小化且閃爍。 |
WER_SUBMIT_BYPASS_DATA_THROTTLING 2048 |
略過報表的數據節流。 Windows 7 或更早版本: 無法使用此參數。 |
WER_SUBMIT_ARCHIVE_PARAMETERS_ONLY 4096 |
僅封存參數;會捨棄 cab。 此旗標會覆寫 ConfigureArchive WER 設定。 Windows 7 或更早版本: 無法使用此參數。 |
WER_SUBMIT_REPORT_MACHINE_ID 8192 |
不論提交報表的同意為何,一律傳送唯一的128位計算機標識碼。 如需詳細資訊,請參閱。 Windows 7 或更早版本: 無法使用此參數。 |
[out, optional] pSubmitResult
提交的結果。 這個參數可以是 下列 WER_SUBMIT_RESULT列舉類型的其中一個值。
值 | 意義 |
---|---|
WerCustomAction 9 |
您可以自訂錯誤報告。 |
WerDisabled 5 |
錯誤報告已停用。 |
WerDisabledQueue 7 |
佇列已停用。 |
WerReportAsync 8 |
報表是異步的。 |
WerReportCancelled 6 |
報表已取消。 |
WerReportDebug 3 |
按兩下 [偵錯] 按鈕。 |
WerReportFailed 4 |
報表提交失敗。 |
WerReportQueued 1 |
報表已排入佇列。 |
WerReportUploaded 2 |
報表已上傳。 |
傳回值
此函式會在成功或失敗時傳回錯誤碼 S_OK 。
備註
應用程式呼叫此函式之後,WER 會收集指定的數據。 如果 同意 參數為 WerConsentApproved,則會將報告提交給 Microsoft。 如果 同意 是 WerConsentNotAsked,WER 會顯示 [同意] 對話方塊。 若要判斷提交狀態,請檢查 pSubmitResult 參數。
在重大應用程式事件的情況下,已註冊 重新啟動 的應用程式將會重新啟動。
當下列情況時,計算機標識碼會隨著報表一起傳送:
- 用來傳送報表的同意不是來自應用程式。 例如,報表已提交且同意狀態設定為 WerConsentNotAsked。
- 報表已透過WER_SUBMIT_REPORT_MACHINE_ID旗標集提交。
若要檢視應用程式所提交的報表,請移至 Windows Quality Online Services。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | werapi.h |
程式庫 | Wer.lib |
Dll | Wer.dll |
另請參閱
Application Recovery and Restart、WerReportCreate、Windows 錯誤報告