| werapi.h (6.3.9600.17415-Windows 8.1) | | werapi.h (10.0.10586.162-Windows 10 1511 10586.494) |
| | |
| skipping to change at line 80 | | skipping to change at line 80 |
| // Disable snapshots for crash/exception reporting. | | // Disable snapshots for crash/exception reporting. |
| // | | // |
| #define WER_FAULT_REPORTING_DISABLE_SNAPSHOT_CRASH 128 | | #define WER_FAULT_REPORTING_DISABLE_SNAPSHOT_CRASH 128 |
| | |
| // | | // |
| // Disable snapshots for hang reporting. | | // Disable snapshots for hang reporting. |
| // | | // |
| #define WER_FAULT_REPORTING_DISABLE_SNAPSHOT_HANG 256 | | #define WER_FAULT_REPORTING_DISABLE_SNAPSHOT_HANG 256 |
| | |
| // | | // |
|
| | // Mark the process as critical. |
| | // |
| | #define WER_FAULT_REPORTING_CRITICAL 512 |
| | |
| | // |
| | // Mark the process as requiring flushing of its report store. |
| | // |
| | #define WER_FAULT_REPORTING_DURABLE 1024 |
| | |
| | // |
| // Maximum length of the report event name | | // Maximum length of the report event name |
| // | | // |
| #define WER_MAX_EVENT_NAME_LENGTH 64 | | #define WER_MAX_EVENT_NAME_LENGTH 64 |
| | |
| // | | // |
| // Maximum length of the name of a signature element | | // Maximum length of the name of a signature element |
| // | | // |
| #define WER_MAX_SIGNATURE_NAME_LENGTH 128 | | #define WER_MAX_SIGNATURE_NAME_LENGTH 128 |
| | |
| // | | // |
| | |
| skipping to change at line 221 | | skipping to change at line 231 |
| typedef enum _WER_FILE_TYPE | | typedef enum _WER_FILE_TYPE |
| { | | { |
| WerFileTypeMicrodump = 1, | | WerFileTypeMicrodump = 1, |
| WerFileTypeMinidump = 2, | | WerFileTypeMinidump = 2, |
| WerFileTypeHeapdump = 3, | | WerFileTypeHeapdump = 3, |
| WerFileTypeUserDocument = 4, | | WerFileTypeUserDocument = 4, |
| WerFileTypeOther = 5, | | WerFileTypeOther = 5, |
| WerFileTypeTriagedump = 6, | | WerFileTypeTriagedump = 6, |
| WerFileTypeCustomDump = 7, | | WerFileTypeCustomDump = 7, |
| WerFileTypeAuxiliaryDump = 8, | | WerFileTypeAuxiliaryDump = 8, |
|
| | WerFileTypeEtlTrace = 9, |
| WerFileTypeMax | | WerFileTypeMax |
| } WER_FILE_TYPE; | | } WER_FILE_TYPE; |
| | |
| typedef enum _WER_SUBMIT_RESULT | | typedef enum _WER_SUBMIT_RESULT |
| { | | { |
| WerReportQueued = 1, | | WerReportQueued = 1, |
| WerReportUploaded = 2, | | WerReportUploaded = 2, |
| WerReportDebug = 3, | | WerReportDebug = 3, |
| WerReportFailed = 4, | | WerReportFailed = 4, |
| WerDisabled = 5, | | WerDisabled = 5, |
| WerReportCancelled = 6, | | WerReportCancelled = 6, |
| WerDisabledQueue = 7, | | WerDisabledQueue = 7, |
| WerReportAsync = 8, | | WerReportAsync = 8, |
| WerCustomAction = 9, | | WerCustomAction = 9, |
| #if (NTDDI_VERSION >= NTDDI_WIN8) | | #if (NTDDI_VERSION >= NTDDI_WIN8) |
| WerThrottled = 10, | | WerThrottled = 10, |
| #endif | | #endif |
|
| | #if (NTDDI_VERSION >= NTDDI_WIN10) |
| | WerReportUploadedCab = 11, |
| | WerStorageLocationNotFound = 12, |
| | #endif |
| | WerSubmitResultMax |
| } WER_SUBMIT_RESULT, *PWER_SUBMIT_RESULT; | | } WER_SUBMIT_RESULT, *PWER_SUBMIT_RESULT; |
| | |
| // | | // |
| // The type of the report | | // The type of the report |
| // | | // |
| typedef enum _WER_REPORT_TYPE | | typedef enum _WER_REPORT_TYPE |
| { | | { |
| WerReportNonCritical = 0, | | WerReportNonCritical = 0, |
| WerReportCritical = 1, | | WerReportCritical = 1, |
| WerReportApplicationCrash = 2, | | WerReportApplicationCrash = 2, |
| | |
| skipping to change at line 294 | | skipping to change at line 310 |
| #define WER_SUBMIT_NO_QUEUE 128 // Do not queue the repo
rt | | #define WER_SUBMIT_NO_QUEUE 128 // Do not queue the repo
rt |
| #define WER_SUBMIT_NO_ARCHIVE 256 // Do not archive the re
port | | #define WER_SUBMIT_NO_ARCHIVE 256 // Do not archive the re
port |
| #define WER_SUBMIT_START_MINIMIZED 512 // The initial reporting
UI is minimized and will flash | | #define WER_SUBMIT_START_MINIMIZED 512 // The initial reporting
UI is minimized and will flash |
| #define WER_SUBMIT_OUTOFPROCESS_ASYNC 1024 // Force the report to g
o out of process and do not wait for it to finish | | #define WER_SUBMIT_OUTOFPROCESS_ASYNC 1024 // Force the report to g
o out of process and do not wait for it to finish |
| #define WER_SUBMIT_BYPASS_DATA_THROTTLING 2048 // Bypass data throttlin
g for the report | | #define WER_SUBMIT_BYPASS_DATA_THROTTLING 2048 // Bypass data throttlin
g for the report |
| #define WER_SUBMIT_ARCHIVE_PARAMETERS_ONLY 4096 // Archive only the para
meters; the cab is discarded | | #define WER_SUBMIT_ARCHIVE_PARAMETERS_ONLY 4096 // Archive only the para
meters; the cab is discarded |
| #define WER_SUBMIT_REPORT_MACHINE_ID 8192 // Always send the machi
ne ID, regardless of the consent the report was submitted with | | #define WER_SUBMIT_REPORT_MACHINE_ID 8192 // Always send the machi
ne ID, regardless of the consent the report was submitted with |
| #define WER_SUBMIT_BYPASS_POWER_THROTTLING 16384 // Bypass power-related
throttling (when on battery) | | #define WER_SUBMIT_BYPASS_POWER_THROTTLING 16384 // Bypass power-related
throttling (when on battery) |
| #define WER_SUBMIT_BYPASS_NETWORK_COST_THROTTLING 32768 // Bypass network-relate
d throttling (when on restricted networks) | | #define WER_SUBMIT_BYPASS_NETWORK_COST_THROTTLING 32768 // Bypass network-relate
d throttling (when on restricted networks) |
| | |
|
| | #define WER_SUBMIT_DISCARD_IF_QUEUED WER_SUBMIT_NO_QUEUE |
| | |
| typedef struct _WER_REPORT_INFORMATION | | typedef struct _WER_REPORT_INFORMATION |
| { | | { |
| DWORD dwSize; | | DWORD dwSize; |
| HANDLE hProcess; | | HANDLE hProcess; |
| WCHAR wzConsentKey[64]; | | WCHAR wzConsentKey[64]; |
| WCHAR wzFriendlyEventName[128]; | | WCHAR wzFriendlyEventName[128]; |
| WCHAR wzApplicationName[128]; | | WCHAR wzApplicationName[128]; |
| WCHAR wzApplicationPath[MAX_PATH]; | | WCHAR wzApplicationPath[MAX_PATH]; |
| WCHAR wzDescription[512]; | | WCHAR wzDescription[512]; |
| HWND hwndParent; | | HWND hwndParent; |
| | |
| skipping to change at line 376 | | skipping to change at line 394 |
| HWND hwndParent; | | HWND hwndParent; |
| WCHAR wzNamespacePartner[64]; | | WCHAR wzNamespacePartner[64]; |
| WCHAR wzNamespaceGroup[64]; | | WCHAR wzNamespaceGroup[64]; |
| BYTE rgbApplicationIdentity[16]; | | BYTE rgbApplicationIdentity[16]; |
| HANDLE hSnapshot; | | HANDLE hSnapshot; |
| HANDLE hDeleteFilesImpersonationToken; | | HANDLE hDeleteFilesImpersonationToken; |
| } WER_REPORT_INFORMATION_V4, *PWER_REPORT_INFORMATION_V4; | | } WER_REPORT_INFORMATION_V4, *PWER_REPORT_INFORMATION_V4; |
| typedef WER_REPORT_INFORMATION_V4 const* PCWER_REPORT_INFORMATION_V4; | | typedef WER_REPORT_INFORMATION_V4 const* PCWER_REPORT_INFORMATION_V4; |
| #endif // NTDDI_VERSION >= NTDDI_WINBLUE | | #endif // NTDDI_VERSION >= NTDDI_WINBLUE |
| | |
|
| | #if (NTDDI_VERSION >= NTDDI_WIN10) |
| | typedef struct _WER_REPORT_INFORMATION_V5 |
| | { |
| | DWORD dwSize; |
| | HANDLE hProcess; |
| | WCHAR wzConsentKey[64]; |
| | WCHAR wzFriendlyEventName[128]; |
| | WCHAR wzApplicationName[128]; |
| | WCHAR wzApplicationPath[MAX_PATH]; |
| | WCHAR wzDescription[512]; |
| | HWND hwndParent; |
| | WCHAR wzNamespacePartner[64]; |
| | WCHAR wzNamespaceGroup[64]; |
| | BYTE rgbApplicationIdentity[16]; |
| | HANDLE hSnapshot; |
| | HANDLE hDeleteFilesImpersonationToken; |
| | WER_SUBMIT_RESULT submitResultMax; |
| | } WER_REPORT_INFORMATION_V5, *PWER_REPORT_INFORMATION_V5; |
| | typedef WER_REPORT_INFORMATION_V5 const *PCWER_REPORT_INFORMATION_V5; |
| | #endif // NTDDI_VERSION >= NTDDI_WIN10 |
| | |
| #if (NTDDI_VERSION >= NTDDI_WINBLUE) | | #if (NTDDI_VERSION >= NTDDI_WINBLUE) |
| typedef struct _WER_DUMP_CUSTOM_OPTIONS_V3 | | typedef struct _WER_DUMP_CUSTOM_OPTIONS_V3 |
| { | | { |
| DWORD dwSize; | | DWORD dwSize; |
| DWORD dwMask; | | DWORD dwMask; |
| DWORD dwDumpFlags; | | DWORD dwDumpFlags; |
| BOOL bOnlyThisThread; | | BOOL bOnlyThisThread; |
| DWORD dwExceptionThreadFlags; | | DWORD dwExceptionThreadFlags; |
| DWORD dwOtherThreadFlags; | | DWORD dwOtherThreadFlags; |
| DWORD dwExceptionThreadExFlags; | | DWORD dwExceptionThreadExFlags; |
| | |
| skipping to change at line 655 | | skipping to change at line 694 |
| _In_ const PWER_RUNTIME_EXCEPTION_INFORMATION pExceptionInformation, | | _In_ const PWER_RUNTIME_EXCEPTION_INFORMATION pExceptionInformation, |
| _Out_ PBOOL pbIsCustomDebugger, | | _Out_ PBOOL pbIsCustomDebugger, |
| _Out_writes_(*pchName) PWSTR pwszDebuggerLaunch, | | _Out_writes_(*pchName) PWSTR pwszDebuggerLaunch, |
| _Inout_ PDWORD pchDebuggerLaunch, | | _Inout_ PDWORD pchDebuggerLaunch, |
| _Out_ PBOOL pbIsDebuggerAutolaunch | | _Out_ PBOOL pbIsDebuggerAutolaunch |
| ); | | ); |
| | |
| #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ | | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ |
| #pragma endregion | | #pragma endregion |
| | |
|
| | #pragma region Desktop Family |
| | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| | |
| | // |
| | // ++++++++++++++++++++++++++ Report Enumeration APIs ++++++++++++++++++++++++++ |
| | // |
| | |
| | typedef enum _REPORT_STORE_TYPES |
| | { |
| | E_STORE_USER_ARCHIVE=0, |
| | E_STORE_USER_QUEUE=1, |
| | E_STORE_MACHINE_ARCHIVE=2, |
| | E_STORE_MACHINE_QUEUE=3, |
| | E_STORE_INVALID=4 |
| | } REPORT_STORE_TYPES; |
| | |
| | typedef PVOID HREPORTSTORE, *PHREPORTSTORE; |
| | |
| | /*++ |
| | |
| | WER_REPORT_PARAMETER |
| | |
| | Structure Description: |
| | This structure is a static-length structure that contains a name/value |
| | pair representing a watson bucket parameter. |
| | |
| | Members: |
| | Name - Represents the name of the parameter. This value SHOULD be set but |
| | in practice is inconsistently set. |
| | Value - Represents the value of a bucket parameter. This value may be |
| | empty for some events if the particular event has fewer than |
| | 10 parameters. |
| | |
| | --*/ |
| | typedef struct _WER_REPORT_PARAMETER |
| | { |
| | WCHAR Name[WER_MAX_SIGNATURE_NAME_LENGTH+1]; |
| | WCHAR Value[WER_MAX_PARAM_LENGTH]; |
| | }WER_REPORT_PARAMETER, PWER_REPORT_PARAMETER; |
| | |
| | /*++ |
| | |
| | WER_REPORT_SIGNATURE |
| | |
| | Structure Description: |
| | This structure is a static-length structure that contains the event name |
| | and all 10 watson bucket parameters. |
| | |
| | Members: |
| | EventName - Represents the name of the event. E.g. AppCrash32. |
| | Parameters - Represents an array of 10 bucket parameters. |
| | |
| | --*/ |
| | typedef struct _WER_REPORT_SIGNATURE |
| | { |
| | WCHAR EventName[WER_MAX_EVENT_NAME_LENGTH+1]; |
| | WER_REPORT_PARAMETER Parameters[WER_MAX_PARAM_COUNT]; |
| | } WER_REPORT_SIGNATURE, *PWER_REPORT_SIGNATURE; |
| | |
| | /*++ |
| | |
| | WER_REPORT_METADATA_V1 |
| | |
| | Structure Description: |
| | This structure is a static-length structure that contains the watson report |
| | signature (event name and the bucket parameters), the bucket id (a hash of |
| | the parameter values and the event name), the locally unique report id, |
| | the creation time and the size of the report. This structure is intended |
| | for report enumeration and display to users who wish to track their |
| | telemetry and crash reports. |
| | |
| | Members: |
| | Signature - A structure containing the signature of the watson report. |
| | BucketId - A hash of the signature. Can be used to cross reference |
| | with other crash reports with the same signature. |
| | ReportId - A locally unique identifier for the report. |
| | CreationTime - A UTC time stamp of when the report was created. |
| | SizeInBytes - Total size, in bytes, of all the files in the report folder. |
| | |
| | --*/ |
| | typedef struct _WER_REPORT_METADATA_V1 |
| | { |
| | WER_REPORT_SIGNATURE Signature; |
| | GUID BucketId; |
| | GUID ReportId; |
| | FILETIME CreationTime; |
| | ULONGLONG SizeInBytes; |
| | } WER_REPORT_METADATA_V1, *PWER_REPORT_METADATA_V1; |
| | |
| | __control_entrypoint(DllExport) |
| | HRESULT |
| | WerStoreOpen( |
| | _In_ REPORT_STORE_TYPES repStoreType, |
| | _Out_ PHREPORTSTORE phReportStore |
| | ); |
| | |
| | __control_entrypoint(DllExport) |
| | VOID |
| | WerStoreClose( |
| | _In_opt_ _Post_invalid_ HREPORTSTORE hReportStore |
| | ); |
| | |
| | __control_entrypoint(DllExport) |
| | HRESULT |
| | WerStoreGetFirstReportKey( |
| | _In_ HREPORTSTORE hReportStore, |
| | _Outptr_result_maybenull_z_ PCWSTR* ppszReportKey |
| | ); |
| | |
| | __control_entrypoint(DllExport) |
| | HRESULT |
| | WerStoreGetNextReportKey( |
| | _In_ HREPORTSTORE hReportStore, |
| | _Outptr_result_maybenull_z_ PCWSTR* ppszReportKey |
| | ); |
| | |
| | __control_entrypoint(DllExport) |
| | HRESULT |
| | WerStoreGetReportCount( |
| | _In_ HREPORTSTORE hReportStore, |
| | _Out_ DWORD* pdwReportCount |
| | ); |
| | |
| | __control_entrypoint(DllExport) |
| | HRESULT |
| | WerStoreGetSizeOnDisk( |
| | _In_ HREPORTSTORE hReportStore, |
| | _Out_ ULONGLONG* pqwSizeInBytes |
| | ); |
| | |
| | __control_entrypoint(DllExport) |
| | HRESULT |
| | WerStoreQueryReportMetadataV1( |
| | _In_ HREPORTSTORE hReportStore, |
| | _In_ PCWSTR pszReportKey, |
| | _Out_ PWER_REPORT_METADATA_V1 pReportMetadata |
| | ); |
| | |
| | #define WER_UPLOAD_USE_ANY_AVAILABLE_NETWORK (0x00000001) |
| | |
| | __control_entrypoint(DllExport) |
| | HRESULT |
| | WerStoreUploadReport( |
| | _In_ HREPORTSTORE hReportStore, |
| | _In_ PCWSTR pszReportKey, |
| | _In_ DWORD dwFlags, |
| | _Out_opt_ PWER_SUBMIT_RESULT pSubmitResult |
| | ); |
| | |
| | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ |
| | #pragma endregion |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| } | | } |
| #endif | | #endif |
| | |
| End of changes. 6 change blocks. |
| 0 lines changed or deleted | | 191 lines changed or added |
|