DEBUG_EVENT (Structures)
Last changed: linz-183.239.240.48

.
Summary
Used by WaitForDebugEvent. Not tested in 64bit environments.

C# Definition:

[StructLayout( LayoutKind.Explicit )]
public struct Union
{
   [FieldOffset( 0 )] public EXCEPTION_DEBUG_INFO Exception;
   [FieldOffset( 0 )] public CREATE_THREAD_DEBUG_INFO CreateThread;
   [FieldOffset( 0 )] public CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
   [FieldOffset( 0 )] public EXIT_THREAD_DEBUG_INFO ExitThread;
   [FieldOffset( 0 )] public EXIT_PROCESS_DEBUG_INFO ExitProcess;
   [FieldOffset( 0 )] public LOAD_DLL_DEBUG_INFO LoadDll;
   [FieldOffset( 0 )] public UNLOAD_DLL_DEBUG_INFO UnloadDll;
   [FieldOffset( 0 )] public OUTPUT_DEBUG_STRING_INFO DebugString;
   [FieldOffset( 0 )] public RIP_INFO RipInfo;
}

[StructLayout( LayoutKind.Sequential )]
public struct DEBUG_EVENT
{
   public uint dwDebugEventCode;
   public uint dwProcessId;
   public uint dwThreadId;
   public Union u;
}

User-Defined Field Types:

EXCEPTION_DEBUG_INFO CREATE_THREAD_DEBUG_INFO CREATE_PROCESS_DEBUG_INFO EXIT_THREAD_DEBUG_INFO EXIT_PROCESS_DEBUG_INFO LOAD_DLL_DEBUG_INFO UNLOAD_DLL_DEBUG_INFO OUTPUT_DEBUG_STRING_INFO RIP_INFO

Documentation
DEBUG_EVENT on MSDN