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 | // RuntimeExceptionKind.h |
5 | // |
6 | |
7 | // |
8 | |
9 | |
10 | #ifndef __runtimeexceptionkind_h__ |
11 | #define __runtimeexceptionkind_h__ |
12 | |
13 | //========================================================================== |
14 | // Identifies commonly-used exception classes for COMPlusThrowable(). |
15 | //========================================================================== |
16 | enum RuntimeExceptionKind { |
17 | #define DEFINE_EXCEPTION(ns, reKind, bHRformessage, ...) k##reKind, |
18 | #define DEFINE_EXCEPTION_HR_WINRT_ONLY(ns, reKind, ...) |
19 | #define DEFINE_EXCEPTION_IN_OTHER_FX_ASSEMBLY(ns, reKind, assemblySimpleName, publicKeyToken, bHRformessage, ...) DEFINE_EXCEPTION(ns, reKind, bHRformessage, __VA_ARGS__) |
20 | #include "rexcep.h" |
21 | kLastException |
22 | }; |
23 | |
24 | |
25 | // I would have preferred to define a unique HRESULT in our own facility, but we |
26 | // weren't supposed to create new HRESULTs so close to ship. And now it's set |
27 | // in stone. |
28 | #define E_PROCESS_SHUTDOWN_REENTRY HRESULT_FROM_WIN32(ERROR_PROCESS_ABORTED) |
29 | |
30 | |
31 | #endif // __runtimeexceptionkind_h__ |
32 | |