Leaked source code of windows server 2003
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, Microsoft Corporation
//
// File: assert.c
//
// History:
// Abolade Gbadegesin Nov-19-1995 Created.
//
// Contains Assert functio for Router components.
//============================================================================
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <windows.h>
#include <rtutils.h>
//#define STRSAFE_LIB
#include <strsafe.h>
VOID RouterAssert( IN PSTR pszFailedAssertion, IN PSTR pszFileName, IN DWORD dwLineNumber, IN PSTR pszMessage OPTIONAL ) {
CHAR szResponse[2];
while (TRUE) { DbgPrint( "\n***Assertion failed: %s%s\n*** Source File: %s, line %ld\n\n", pszMessage ? pszMessage : "", pszFailedAssertion, pszFileName, dwLineNumber );
DbgPrompt( "Break, Ignore, Terminate Process or Terminate Thread (bipt)? ", szResponse, sizeof(szResponse) );
switch (szResponse[0]) { case 'B': case 'b': DbgBreakPoint(); break;
case 'I': case 'i': return;
case 'P': case 'p': TerminateProcess( GetCurrentProcess(), (DWORD)STATUS_UNSUCCESSFUL ); break;
case 'T': case 't': ExitThread( (DWORD)STATUS_UNSUCCESSFUL ); break; } }
DbgBreakPoint(); TerminateProcess(GetCurrentProcess(), (DWORD)STATUS_UNSUCCESSFUL); }
|