Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1995-1997 Microsoft Corporation
Module Name:
ntstuff.cxx
Abstract:
This module contains an NTSD debugger extension for dumping various NT-specific properties.
Author:
Keith Moore (keithmo) 08-Nov-1997
Revision History:
--*/
#include "inetdbgp.h"
/************************************************************
* Dump Current Error Mode ************************************************************/
DECLARE_API( gem )
/*++
Routine Description:
This function is called as an NTSD extension to display the current error mode of the debugee.
Arguments:
hCurrentProcess - Supplies a handle to the current process (at the time the extension was called).
hCurrentThread - Supplies a handle to the current thread (at the time the extension was called).
CurrentPc - Supplies the current pc at the time the extension is called.
lpExtensionApis - Supplies the address of the functions callable by this extension.
lpArgumentString - Supplies the asciiz string that describes the ansi string to be dumped.
Return Value:
None.
--*/
{
NTSTATUS status; UINT errorMode;
INIT_API();
status = NtQueryInformationProcess( ExtensionCurrentProcess, ProcessDefaultHardErrorMode, (PVOID)&errorMode, sizeof(errorMode), NULL );
if( !NT_SUCCESS(status) ) { dprintf( "Cannot query error mode, error %08lx\n", status ); return; }
if( errorMode & 1 ) { errorMode &= ~SEM_FAILCRITICALERRORS; } else { errorMode |= SEM_FAILCRITICALERRORS; }
dprintf( "Current error mode = %08lx\n", errorMode );
if( errorMode & SEM_FAILCRITICALERRORS ) { dprintf( " SEM_FAILCRITICALERRORS\n" ); }
if( errorMode & SEM_NOGPFAULTERRORBOX ) { dprintf( " SEM_NOGPFAULTERRORBOX\n" ); }
if( errorMode & SEM_NOALIGNMENTFAULTEXCEPT ) { dprintf( " SEM_NOALIGNMENTFAULTEXCEPT\n" ); }
if( errorMode & SEM_NOOPENFILEERRORBOX ) { dprintf( " SEM_NOOPENFILEERRORBOX\n" ); }
} // DECLARE_API( gem )
|