windows-nt/Source/XPSP1/NT/com/ole32/stg/h/dfdeb.hxx
2020-09-26 16:20:57 +08:00

86 lines
1.8 KiB
C++

//+--------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1992.
//
// File: dfdeb.hxx
//
// Contents: Docfile debug header
//
// Functions: DfDebug
// DfSetResLimit
// DfGetResLimit
// DfPrintAllocs
// HaveResource
// ModifyResLimit
//
// History: 13-May-92 DrewB Created
//
//---------------------------------------------------------------
#ifndef __DFDEB_HXX__
#define __DFDEB_HXX__
#if DBG == 1
// Resources that can be controlled
#define DBR_MEMORY 0
#define DBR_XSCOMMITS 1
#define DBR_FAILCOUNT 2
#define DBR_FAILLIMIT 3
#define DBR_FAILTYPES 4
// Resources that can be queried
#define DBRQ_MEMORY_ALLOCATED 5
// Internal resources
#define DBRI_ALLOC_LIST 6
#define DBRI_LOGFILE_LIST 7
// Control flags
#define DBRF_LOGGING 8
//Number of shared heaps allocated
#define DBRQ_HEAPS 9
// Control whether sifting is enabled
#define DBRF_SIFTENABLE 10
#define CDBRESOURCES 11
// Simulated failure types
typedef enum {
DBF_MEMORY = 1,
DBF_DISKFULL = 2,
DBF_DISKREAD = 4,
DBF_DISKWRITE = 8
} DBFAILURE;
// Logging control flags (e.g. DfSetResLimit(DBRF_LOGGING, DFLOG_MIN);)
#define DFLOG_OFF 0x00000000
#define DFLOG_ON 0x02000000
#define DFLOG_PIDTID 0x04000000
STDAPI_(void) DfDebug(ULONG ulLevel, ULONG ulMSFLevel);
STDAPI_(void) DfSetResLimit(UINT iRes, LONG lLimit);
STDAPI_(LONG) DfGetResLimit(UINT iRes);
STDAPI_(void) DfSetFailureType(LONG lTypes);
BOOL SimulateFailure(DBFAILURE failure);
STDAPI_(LONG) DfGetMemAlloced(void);
STDAPI_(void) DfPrintAllocs(void);
// Internal APIs
BOOL HaveResource(UINT iRes, LONG lRequest);
LONG ModifyResLimit(UINT iRes, LONG lChange);
#endif // DBG == 1
#endif // #ifndef __DFDEB_HXX__