1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! Function prototypes for Windows Error Reporting (WER)
7 use shared::minwindef::{BOOL, DWORD, PDWORD};
8 use um::winnt::{HANDLE, HRESULT, PCWSTR, PVOID};
9 ENUM!{enum WER_REGISTER_FILE_TYPE {
10     WerRegFileTypeUserDocument = 1,
11     WerRegFileTypeOther = 2,
12     WerRegFileTypeMax,
13 }}
14 extern "system" {
WerRegisterFile( pwzFile: PCWSTR, regFileType: WER_REGISTER_FILE_TYPE, dwFlags: DWORD, ) -> HRESULT15     pub fn WerRegisterFile(
16         pwzFile: PCWSTR,
17         regFileType: WER_REGISTER_FILE_TYPE,
18         dwFlags: DWORD,
19     ) -> HRESULT;
WerUnregisterFile( pwzFilePath: PCWSTR, ) -> HRESULT20     pub fn WerUnregisterFile(
21         pwzFilePath: PCWSTR,
22     ) -> HRESULT;
WerRegisterMemoryBlock( pvAddress: PVOID, dwSize: DWORD, ) -> HRESULT23     pub fn WerRegisterMemoryBlock(
24         pvAddress: PVOID,
25         dwSize: DWORD,
26     ) -> HRESULT;
WerUnregisterMemoryBlock( pvAddress: PVOID, ) -> HRESULT27     pub fn WerUnregisterMemoryBlock(
28         pvAddress: PVOID,
29     ) -> HRESULT;
WerSetFlags( dwFlags: DWORD, ) -> HRESULT30     pub fn WerSetFlags(
31         dwFlags: DWORD,
32     ) -> HRESULT;
WerGetFlags( hProcess: HANDLE, pdwFlags: PDWORD, ) -> HRESULT33     pub fn WerGetFlags(
34         hProcess: HANDLE,
35         pdwFlags: PDWORD,
36     ) -> HRESULT;
WerAddExcludedApplication( pwzExeName: PCWSTR, bAllUsers: BOOL, ) -> HRESULT37     pub fn WerAddExcludedApplication(
38         pwzExeName: PCWSTR,
39         bAllUsers: BOOL,
40     ) -> HRESULT;
WerRemoveExcludedApplication( pwzExeName: PCWSTR, bAllUsers: BOOL, ) -> HRESULT41     pub fn WerRemoveExcludedApplication(
42         pwzExeName: PCWSTR,
43         bAllUsers: BOOL,
44     ) -> HRESULT;
WerRegisterRuntimeExceptionModule( pwszOutOfProcessCallbackDll: PCWSTR, pContext: PVOID, ) -> HRESULT45     pub fn WerRegisterRuntimeExceptionModule(
46         pwszOutOfProcessCallbackDll: PCWSTR,
47         pContext: PVOID,
48     ) -> HRESULT;
WerUnregisterRuntimeExceptionModule( pwszOutOfProcessCallbackDll: PCWSTR, pContext: PVOID, ) -> HRESULT49     pub fn WerUnregisterRuntimeExceptionModule(
50         pwszOutOfProcessCallbackDll: PCWSTR,
51         pContext: PVOID,
52     ) -> HRESULT;
53 }
54