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 |
仅存档参数;驾驶室被丢弃。 此标志将替代 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 会收集指定的数据。 如果 consent 参数为 WerConsentApproved,它将向 Microsoft 提交报告。 如果 同意 为 WerConsentNotAsked,WER 将显示同意对话框。 若要确定提交状态,检查 pSubmitResult 参数。
发生关键应用程序事件时,将重启 已注册重启 的应用程序。
计算机标识符在以下情况下随报表一起发送:
- 用于发送报告的同意不是来自应用程序。 例如,报告是在同意状态设置为 WerConsentNotAsked 的情况下提交的。
- 报告在提交时设置了WER_SUBMIT_REPORT_MACHINE_ID标志。
若要查看应用程序提交的报表,请转到 Windows 质量在线服务。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | werapi.h |
Library | Wer.lib |
DLL | Wer.dll |