ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

werapi.h
Go to the documentation of this file.
00001 /*
00002  * Windows Error Reporing definitions
00003  *
00004  * Copyright (C) 2010 Louis Lenders
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #ifndef __WINE_WERAPI_H
00022 #define __WINE_WERAPI_H
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00028 /* Only 10 parameter are allowed in WerReportSetParameter */
00029 #define WER_MAX_PARAM_COUNT 10
00030 #define WER_P0 0
00031 #define WER_P1 1
00032 #define WER_P2 2
00033 #define WER_P3 3
00034 #define WER_P4 4
00035 #define WER_P5 5
00036 #define WER_P6 6
00037 #define WER_P7 7
00038 #define WER_P8 8
00039 #define WER_P9 9
00040 
00041 /* Flags for WerReportSubmit */
00042 #define WER_SUBMIT_HONOR_RECOVERY           0x0001
00043 #define WER_SUBMIT_HONOR_RESTART            0x0002
00044 #define WER_SUBMIT_QUEUE                    0x0004
00045 #define WER_SUBMIT_SHOW_DEBUG               0x0008
00046 #define WER_SUBMIT_ADD_REGISTERED_DATA      0x0010
00047 #define WER_SUBMIT_OUTOFPROCESS             0x0020
00048 #define WER_SUBMIT_NO_CLOSE_UI              0x0040
00049 #define WER_SUBMIT_NO_QUEUE                 0x0080
00050 #define WER_SUBMIT_NO_ARCHIVE               0x0100
00051 #define WER_SUBMIT_START_MINIMIZED          0x0200
00052 #define WER_SUBMIT_OUTOFPROCESS_ASYNC       0x0400
00053 #define WER_SUBMIT_BYPASS_DATA_THROTTLING   0x0800
00054 #define WER_SUBMIT_ARCHIVE_PARAMETERS_ONLY  0x1000
00055 #define WER_SUBMIT_REPORT_MACHINE_ID        0x2000
00056 
00057 /* #### */
00058 
00059 typedef HANDLE HREPORT;
00060 
00061 typedef enum _WER_CONSENT
00062 {
00063     WerConsentNotAsked = 1,
00064     WerConsentApproved,
00065     WerConsentDenied,
00066     WerConsentAlwaysPrompt,
00067     WerConsentMax
00068 } WER_CONSENT;
00069 
00070 typedef enum _WER_REGISTER_FILE_TYPE
00071 {
00072     WerRegFileTypeUserDocument = 1,
00073     WerRegFileTypeOther = 2,
00074     WerRegFileTypeMax
00075 } WER_REGISTER_FILE_TYPE;
00076 
00077 typedef struct _WER_REPORT_INFORMATION
00078 {
00079     DWORD   dwSize;
00080     HANDLE  hProcess;
00081     WCHAR   wzConsentKey[64];
00082     WCHAR   wzFriendlyEventName[128];
00083     WCHAR   wzApplicationName[128];
00084     WCHAR   wzApplicationPath[MAX_PATH];
00085     WCHAR   wzDescription[512];
00086     HWND    hwndParent;
00087 } WER_REPORT_INFORMATION, *PWER_REPORT_INFORMATION;
00088 
00089 
00090 typedef enum _WER_REPORT_TYPE
00091 {
00092     WerReportNonCritical = 0,
00093     WerReportCritical,
00094     WerReportApplicationCrash,
00095     WerReportApplicationHang,
00096     WerReportKernel,
00097     WerReportInvalid
00098 } WER_REPORT_TYPE;
00099 
00100 typedef enum _WER_SUBMIT_RESULT
00101 {
00102     WerReportQueued = 1,
00103     WerReportUploaded,
00104     WerReportDebug,
00105     WerReportFailed,
00106     WerDisabled,
00107     WerReportCancelled,
00108     WerDisabledQueue,
00109     WerReportAsync,
00110     WerCustomAction
00111 } WER_SUBMIT_RESULT, *PWER_SUBMIT_RESULT;
00112 
00113 /* #### */
00114 
00115 HRESULT WINAPI WerAddExcludedApplication(PCWSTR, BOOL);
00116 HRESULT WINAPI WerRegisterFile(PCWSTR file, WER_REGISTER_FILE_TYPE regfiletype, DWORD flags);
00117 HRESULT WINAPI WerRemoveExcludedApplication(PCWSTR, BOOL);
00118 HRESULT WINAPI WerReportCloseHandle(HREPORT);
00119 HRESULT WINAPI WerReportCreate(PCWSTR, WER_REPORT_TYPE, PWER_REPORT_INFORMATION, HREPORT*);
00120 HRESULT WINAPI WerReportSetParameter(HREPORT, DWORD, PCWSTR, PCWSTR);
00121 HRESULT WINAPI WerReportSubmit(HREPORT, WER_CONSENT, DWORD, PWER_SUBMIT_RESULT);
00122 
00123 #ifdef __cplusplus
00124 }
00125 #endif
00126 
00127 #endif /* __WINE_WERAPI_H */

Generated on Sat May 26 2012 04:31:21 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.