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.
 
 
 
 
 
 

156 lines
2.0 KiB

/*++
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