WerReportSubmit 함수(werapi.h)

지정된 WER(Windows 오류 보고) 보고서를 제출합니다.

구문

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, WerRegisterFileWerRegisterMemoryBlock에 의해 등록된 데이터를 보고서에 추가합니다.
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 Quality Online Services로 이동합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 werapi.h
라이브러리 Wer.lib
DLL Wer.dll

추가 정보

애플리케이션 복구 및 다시 시작, WerReportCreate, Windows 오류 보고