ReactOS 0.4.16-dev-122-g325d74c
seh0012.c
Go to the documentation of this file.
1// Copyright (c) Microsoft. All rights reserved.
2// Licensed under the MIT license. See LICENSE file in the project root for
3// full license information.
4
5#include <windows.h>
6#include "seh.h"
7
8char test[] = "SEH0012.c";
9
11 RaiseException(Status, 0, /*no flags*/ 0, 0);
12 return;
13}
14
15int main() {
17
18 Counter = 0;
19
20 try {
22 }
24 /* excpetion handler should get executed */
25 {
26 Counter += 1;
27 try {
29 }
31 /* excpetion handler should get executed */
32 {
33 if (Counter != 1) {
34 printf("TEST 12 FAILED. Counter = %d\n\r", Counter);
35 return -1;
36 }
37 Counter += 1;
38 }
39 endtry
40 }
41 endtry
42
43 if (Counter != 2) {
44 printf("TEST 12 FAILED. Counter = %d\n\r", Counter);
45 return -1;
46 }
47
48 return 0;
49}
#define except(x)
Definition: btrfs_drv.h:136
VOID WINAPI RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, _In_opt_ const ULONG_PTR *lpArguments)
Definition: except.c:700
unsigned long DWORD
Definition: ntddk_ex.h:95
#define printf
Definition: freeldr.h:97
Status
Definition: gdiplustypes.h:25
#define EXCEPTION_CONTINUE_SEARCH
Definition: excpt.h:86
#define STATUS_ACCESS_VIOLATION
Definition: ntstatus.h:242
long LONG
Definition: pedump.c:60
void rtlRaiseException(DWORD Status)
Definition: seh0012.c:10
char test[]
Definition: seh0012.c:8
int main()
Definition: seh0012.c:15
#define endtry
Definition: seh.h:24
#define GetExceptionCode()
Definition: seh.h:27
static LARGE_INTEGER Counter
Definition: clock.c:43
#define EXCEPTION_ACCESS_VIOLATION
Definition: winbase.h:311