1 | // Licensed to the .NET Foundation under one or more agreements. |
2 | // The .NET Foundation licenses this file to you under the MIT license. |
3 | // See the LICENSE file in the project root for more information. |
4 | //***************************************************************************** |
5 | // EEMessageBox.h |
6 | // |
7 | |
8 | // |
9 | // This module contains the definition for the message box utility code for use |
10 | // inside the Execution Engine. These APIs ensure the GC mode is properly |
11 | // toggled to preemptive before the dialog is displayed. |
12 | // |
13 | //***************************************************************************** |
14 | |
15 | #ifndef _H_EEMESSAGEBOX |
16 | #define _H_EEMESSAGEBOX |
17 | |
18 | //======================================================================== |
19 | // APIs to pop messages boxes. These should be used instead of the UtilXXX |
20 | // versions since they ensure we properly switch to preemptive GC mode and |
21 | // validate that the thread can tolerate GC transitions before calling |
22 | // out. |
23 | //======================================================================== |
24 | |
25 | int EEMessageBoxCatastrophicVA( |
26 | UINT uText, // Text for MessageBox |
27 | UINT uTitle, // Title for MessageBox |
28 | UINT uType, // Style of MessageBox |
29 | BOOL showFileNameInTitle, // Flag to show FileName in Caption |
30 | va_list insertionArgs); // Additional Arguments |
31 | |
32 | int EEMessageBoxCatastrophic( |
33 | UINT iText, // Text for MessageBox |
34 | UINT iTitle, // Title for MessageBox |
35 | ...); // Additional Arguments |
36 | |
37 | int EEMessageBoxCatastrophicWithCustomizedStyle( |
38 | UINT iText, // Text for MessageBox |
39 | UINT iTitle, // Title for MessageBox |
40 | UINT uType, // Style of MessageBox |
41 | BOOL showFileNameInTitle, // Flag to show FileName in Caption |
42 | ...); // Additional Arguments |
43 | |
44 | #ifdef _DEBUG |
45 | |
46 | int EEMessageBoxNonLocalizedDebugOnly( |
47 | LPCWSTR lpText, // Text message |
48 | LPCWSTR lpCaption, // Caption |
49 | UINT uType, // Style of MessageBox |
50 | ... ); // Additional Arguments |
51 | |
52 | #endif // _DEBUG |
53 | |
54 | // If we didn't display a dialog to the user, this method returns IDIGNORE, unlike the others that return IDABORT. |
55 | int EEMessageBoxNonLocalizedNonFatal( |
56 | LPCWSTR lpText, // Text message |
57 | LPCWSTR lpTitle, // Caption |
58 | UINT uType, // Style of MessageBox |
59 | ... ); // Additional Arguments |
60 | |
61 | // If we didn't display a dialog to the user, this method returns IDIGNORE, unlike the others that return IDABORT. |
62 | int EEMessageBoxNonLocalizedNonFatal( |
63 | LPCWSTR lpText, // Text message |
64 | LPCWSTR lpTitle, // Caption |
65 | LPCWSTR lpDetails,// Detailed message like a stack trace |
66 | UINT uType, // Style of MessageBox |
67 | ... ); // Additional Arguments |
68 | |
69 | #endif /* _H_EEMESSAGEBOX */ |
70 | |
71 | |