ntdll: Test context flags passed to exception handler.

Vitaliy Margolen wine-patch at kievinfo.com
Tue Jan 10 00:39:19 CST 2006


ChangeLog:
ntdll: Test context flags passed to exception handler.

 dlls/ntdll/tests/exception.c |    3 +++
 include/winnt.h              |    2 ++
 2 files changed, 5 insertions(+), 0 deletions(-)
-------------- next part --------------
9a994adee456c6e65ddad03eb89f29d0a0ea8e9e
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
index 0667e57..9d1b130 100644
--- a/dlls/ntdll/tests/exception.c
+++ b/dlls/ntdll/tests/exception.c
@@ -185,6 +185,9 @@ static DWORD handler( EXCEPTION_RECORD *
             "%u: Wrong parameter %d: %lx/%lx\n",
             entry, i, rec->ExceptionInformation[i], except->params[i] );
 
+    todo_wine ok( (context->ContextFlags & CONTEXT_ALL) == CONTEXT_ALL,
+        "Got partial context %lx\n", context->ContextFlags );
+
     /* don't handle exception if it's not the address we expected */
     if (rec->ExceptionAddress != except->code + except->offset) return ExceptionContinueSearch;
 
diff --git a/include/winnt.h b/include/winnt.h
index 7d7ca90..afbfaa6 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -699,6 +699,7 @@ typedef struct _CONTEXT86
 #define CONTEXT86_FLOATING_POINT  (CONTEXT_i386 | 0x0008L) /* 387 state */
 #define CONTEXT86_DEBUG_REGISTERS (CONTEXT_i386 | 0x0010L) /* DB 0-3,6,7 */
 #define CONTEXT86_FULL (CONTEXT86_CONTROL | CONTEXT86_INTEGER | CONTEXT86_SEGMENTS)
+#define CONTEXT86_ALL (CONTEXT86_FULL | CONTEXT86_FLOATING_POINT | CONTEXT86_DEBUG_REGISTERS)
 
 /* i386 context definitions */
 #ifdef __i386__
@@ -709,6 +710,7 @@ typedef struct _CONTEXT86
 #define CONTEXT_FLOATING_POINT  CONTEXT86_FLOATING_POINT
 #define CONTEXT_DEBUG_REGISTERS CONTEXT86_DEBUG_REGISTERS
 #define CONTEXT_FULL            CONTEXT86_FULL
+#define CONTEXT_ALL             CONTEXT86_ALL
 
 typedef CONTEXT86 CONTEXT;
 


More information about the wine-patches mailing list