mirror of https://github.com/lianthony/NT4.0
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.
139 lines
4.1 KiB
139 lines
4.1 KiB
/*
|
|
** Handler.H
|
|
**
|
|
** Copyright(C) 1993 Microsoft Corporation.
|
|
** All Rights Reserved.
|
|
**
|
|
** HISTORY:
|
|
** Created: 10/05/93 - MarkRi
|
|
**
|
|
*/
|
|
|
|
/*
|
|
** Prototypes
|
|
*/
|
|
BOOL LoadTargetDriver( VOID ) ;
|
|
VOID FreeTargetDriver( VOID ) ;
|
|
BOOL SetTargetAPI( ULONG cj, DRVENABLEDATA *pded ) ;
|
|
|
|
BOOL REAL_DrvEnableDriver(ULONG iEngineVersion, ULONG cj, DRVENABLEDATA *pded) ;
|
|
VOID REAL_DrvDisableDriver() ;
|
|
|
|
/*
|
|
** Manifests
|
|
*/
|
|
#define DEFAULT_DRIVER_NAME "MSDRVLOG.DLL"
|
|
|
|
/*
|
|
** DrvLog to driver function mapping
|
|
*/
|
|
typedef struct _drvlog_DRVFN {
|
|
ULONG iFunc ;
|
|
PFN pfnDrvLog ;
|
|
PFN pfnDriver ;
|
|
#if DBG
|
|
LPSTR pszFuncName ;
|
|
#endif
|
|
} DRVLOG_DRVFN ;
|
|
|
|
extern DRVLOG_DRVFN DrvLogFuncMap[] ;
|
|
|
|
|
|
/*
|
|
** Easy Access to the DrvLogFuncMap
|
|
**
|
|
** NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
|
|
**
|
|
** The following defines are array indices into DrvLogFuncMap and must be
|
|
** be maintained with DrvLogFuncMap defininition from Handler.C
|
|
**
|
|
** NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
|
|
**/
|
|
#define DRVLOG_DrvEnablePDEV 0
|
|
#define DRVLOG_DrvCompletePDEV 1
|
|
#define DRVLOG_DrvDisablePDEV 2
|
|
#define DRVLOG_DrvEnableSurface 3
|
|
#define DRVLOG_DrvDisableSurface 4
|
|
#define DRVLOG_DrvAssertMode 5
|
|
#define DRVLOG_DrvHookDriver 6
|
|
#define DRVLOG_DrvResetPDEV 7
|
|
#define DRVLOG_DrvRestartPDEV 8
|
|
#define DRVLOG_DrvGetResourceId 9
|
|
#define DRVLOG_DrvCreateDeviceBitmap 10
|
|
#define DRVLOG_DrvDeleteDeviceBitmap 11
|
|
#define DRVLOG_DrvRealizeBrush 12
|
|
#define DRVLOG_DrvDitherColor 13
|
|
#define DRVLOG_DrvStrokePath 14
|
|
#define DRVLOG_DrvFillPath 15
|
|
#define DRVLOG_DrvStrokeAndFillPath 16
|
|
#define DRVLOG_DrvPaint 17
|
|
#define DRVLOG_DrvBitBlt 18
|
|
#define DRVLOG_DrvCopyBits 19
|
|
#define DRVLOG_DrvStretchBlt 20
|
|
#define DRVLOG_DrvPlgBlt 21
|
|
#define DRVLOG_DrvSetPalette 22
|
|
#define DRVLOG_DrvTextOut 23
|
|
#define DRVLOG_DrvEscape 24
|
|
#define DRVLOG_DrvDrawEscape 25
|
|
#define DRVLOG_DrvQueryFont 26
|
|
#define DRVLOG_DrvQueryFontTree 27
|
|
#define DRVLOG_DrvQueryFontData 28
|
|
#define DRVLOG_DrvSetPointerShape 29
|
|
#define DRVLOG_DrvMovePointer 30
|
|
#define DRVLOG_DrvUNUSED2 31
|
|
#define DRVLOG_DrvSendPage 32
|
|
#define DRVLOG_DrvStartPage 33
|
|
#define DRVLOG_DrvEndDoc 34
|
|
#define DRVLOG_DrvStartDoc 35
|
|
#define DRVLOG_DrvQueryObjectData 36
|
|
#define DRVLOG_DrvGetGlyphMode 37
|
|
#define DRVLOG_DrvSynchronize 38
|
|
#define DRVLOG_DrvUnhookDriver 39
|
|
#define DRVLOG_DrvSaveScreenBits 40
|
|
#define DRVLOG_DrvGetModes 41
|
|
#define DRVLOG_DrvFree 42
|
|
#define DRVLOG_DrvDestroyFont 43
|
|
#define DRVLOG_DrvQueryFontCaps 44
|
|
#define DRVLOG_DrvLoadFontFile 45
|
|
#define DRVLOG_DrvUnloadFontFile 46
|
|
#define DRVLOG_DrvFontManagement 47
|
|
#define DRVLOG_DrvQueryTrueTypeTable 48
|
|
#define DRVLOG_DrvQueryTrueTypeOutline 49
|
|
#define DRVLOG_DrvGetTrueTypeFile 50
|
|
#define DRVLOG_DrvQueryFontFile 51
|
|
#define DRVLOG_UNUSED5 52
|
|
#define DRVLOG_DrvQueryAdvanceWidths 53
|
|
#define DRVLOG_DrvSetPixelFormat 54
|
|
#define DRVLOG_DrvDescribePixelFormat 55
|
|
#define DRVLOG_DrvSwapBuffers 56
|
|
|
|
|
|
#define DrvLogFunc(index) (DrvLogFuncMap[index].pfnDrvLog)
|
|
#define DriverFunc(index) (DrvLogFuncMap[index].pfnDriver)
|
|
|
|
/*
|
|
** Logging Control
|
|
*/
|
|
typedef struct _SharedMemory
|
|
{
|
|
BOOL bLogging ; // Set by DrvLoggingEnable API
|
|
|
|
} SharedMemory, *PSharedMemory ;
|
|
|
|
extern PSharedMemory pVars ;
|
|
|
|
#define DRVIN if( pVars->bLogging ) LogIn
|
|
#define DRVOUT if( pVars->bLogging ) LogOut
|
|
|
|
/*
|
|
** Debugging stuff
|
|
*/
|
|
#if DBG
|
|
#define DBGOUT(s) OutputDebugString(s)
|
|
#define ENTER(s) OutputDebugString( "Entering "#s"\n" )
|
|
#define LEAVE(s) OutputDebugString( "Leaving "#s"\n" )
|
|
#else
|
|
#define DBGOUT(s)
|
|
#define ENTER(s)
|
|
#define LEAVE(s)
|
|
#endif
|