共用方式為


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
WerSetFlagsWerRegisterFileWerRegisterMemoryBlock 所註冊的數據新增至報表。
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 RestartWerReportCreateWindows 錯誤報告