/*++ Copyright (c) 1994 Microsoft Corporation All rights reserved. Module Name: CLink.cxx Abstract: C linkage support for DEBUG support only. Author: Albert Ting (AlbertT) 10-Oct-95 Revision History: --*/ #include "spllibp.hxx" #pragma hdrstop #if DBG extern DBG_POINTERS gDbgPointers; HANDLE DbgAllocBackTrace( VOID ) { return (HANDLE)(VBackTrace*) new TBackTraceMem; } HANDLE DbgAllocBackTraceMem( VOID ) { return (HANDLE)(VBackTrace*) new TBackTraceMem; } HANDLE DbgAllocBackTraceFile( VOID ) { return (HANDLE)(VBackTrace*) new TBackTraceFile; } VOID DbgFreeBackTrace( HANDLE hBackTrace ) { delete (VBackTrace*)hBackTrace; } VOID DbgCaptureBackTrace( HANDLE hBackTrace, ULONG_PTR Info1, ULONG_PTR Info2, ULONG_PTR Info3 ) { VBackTrace* pBackTrace = (VBackTrace*)hBackTrace; if( pBackTrace ){ pBackTrace->hCapture( Info1, Info2, Info3 ); } } HANDLE DbgAllocCritSec( VOID ) { return (HANDLE)new MCritSec; } VOID DbgFreeCritSec( HANDLE hCritSec ) { delete (MCritSec*)hCritSec; } BOOL DbgInsideCritSec( HANDLE hCritSec ) { return ((MCritSec*)hCritSec)->bInside(); } BOOL DbgOutsideCritSec( HANDLE hCritSec ) { return ((MCritSec*)hCritSec)->bOutside(); } VOID DbgEnterCritSec( HANDLE hCritSec ) { ((MCritSec*)hCritSec)->vEnter(); } VOID DbgLeaveCritSec( HANDLE hCritSec ) { ((MCritSec*)hCritSec)->vLeave(); } VOID DbgSetAllocFail( BOOL bEnable, LONG cAllocFail ) { gbAllocFail = bEnable; gcAllocFail = cAllocFail; } PVOID DbgGetPointers( VOID ) { return &gDbgPointers; } #else // // Stub these out so that non-DBG builds can link w/ debug spoolss.dll. // PVOID DbgGetPointers( VOID ) { return NULL; } #endif