Поделиться через


Функция 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
Не помещайте отчет в очередь. При наличии соответствующего согласия пользователя отчет немедленно отправляется в корпорацию Майкрософт; В противном случае отчет будет удален. Этот флаг можно использовать для некритических отчетов.

Отчет удаляется для любого действия, которое требует постановки отчета в очередь. Например, если при отправке отчета компьютер находится в автономном режиме, отчет удаляется. Кроме того, при недостаточном согласии (например, согласие было необходимо для части данных отчета), отчет отклоняется.
WER_SUBMIT_OUTOFPROCESS
32
Создание еще одного процесса для отправки отчета. Вызывающий поток блокируется до тех пор, пока функция не вернет.

ПРИМЕЧАНИЕ: Сообщения окна будут накачиваться, чтобы действия пользовательского интерфейса в вызывающем потоке не блокировались.
WER_SUBMIT_OUTOFPROCESS_ASYNC
1024
Создание еще одного процесса для отправки отчета и немедленного возврата из вызова этой функции. Обратите внимание, что содержимое параметра pSubmitResult не определено, и невозможно выполнить запрос о завершении отчета или состоянии завершения.
WER_SUBMIT_QUEUE
4
Добавьте отчет в очередь WER, не уведомляя пользователя. Отчет помещается в очередь— отчеты (отправка отчета в корпорацию Майкрософт) будут позже в зависимости от уровня согласия пользователя.
WER_SUBMIT_SHOW_DEBUG
8
Отображение кнопки отладки.
WER_SUBMIT_START_MINIMIZED
512
Начальный пользовательский интерфейс свернут и мигает.
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, он отправляет отчет в корпорацию Майкрософт. Если согласие имеет значение WerConsentNotAsked, ТО WER отображает диалоговое окно согласия. Чтобы определить состояние отправки, проверка параметр pSubmitResult.

В случае критического события приложения приложения, зарегистрированные для перезапуска , будут перезапущены.

Идентификатор компьютера отправляется вместе с отчетом в следующих случаях:

  • Согласие, используемое для отправки отчета, не поступают от приложения. Например, отчет был отправлен с состоянием согласия WerConsentNotAsked.
  • Отчет был отправлен с установленным флагом WER_SUBMIT_REPORT_MACHINE_ID.

Чтобы просмотреть отчеты, отправленные приложением, перейдите в раздел Windows Quality Online Services.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header werapi.h
Библиотека Wer.lib
DLL Wer.dll

См. также раздел

Восстановление и перезапуск приложений, WerReportCreate, отчеты об ошибках Windows