Source code of Windows XP (NT5)
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.
|
|
/******************************Module*Header*******************************\
* Module Name: mcdint.h * * Internal client/server-side data structure for MCD driver interface. * * Copyright (c) 1996 Microsoft Corporation * \**************************************************************************/
// Private flags for initialization (registry)
#define MCDPRIVATE_MCD_ENABLED 0x0001
#define MCDPRIVATE_PALETTEFORMATS 0x0002
#define MCDPRIVATE_USEGENERICSTENCIL 0x0004
#define MCDPRIVATE_EMULATEICD 0x0008
#ifdef MCD95
// Cross-process named mutex.
#define MCDMUTEXNAME TEXT("MCDSRV32 Interprocess Synchronization Object")
#endif
// Internal command codes
#define MCD_DESCRIBEPIXELFORMAT 0x10001
#define MCD_DRIVERINFO 0x10002
#define MCD_ALLOC 0x10003
#define MCD_FREE 0x10004
#define MCD_STATE 0x10005
#define MCD_VIEWPORT 0x10006
#define MCD_QUERYMEMSTATUS 0x10007
#define MCD_READSPAN 0x10008
#define MCD_WRITESPAN 0x10009
#define MCD_CLEAR 0x1000a
#define MCD_SWAP 0x1000b
#define MCD_SCISSOR 0x1000c
#define MCD_DELETERC 0x1000d
#define MCD_GETBUFFERS 0x1000e
#define MCD_ALLOCBUFFERS 0x1000f
#define MCD_LOCK 0x10010
#define MCD_UNLOCK 0x10011
#define MCD_BINDCONTEXT 0x10012
#define MCD_SYNC 0x10013
#define MCD_CREATE_TEXTURE 0x10014
#define MCD_DELETE_TEXTURE 0x10015
#define MCD_UPDATE_SUB_TEXTURE 0x10016
#define MCD_UPDATE_TEXTURE_PALETTE 0x10017
#define MCD_UPDATE_TEXTURE_PRIORITY 0x10018
#define MCD_UPDATE_TEXTURE_STATE 0x10019
#define MCD_TEXTURE_STATUS 0x1001a
#define MCD_GET_TEXTURE_KEY 0x1001b
#define MCD_DESCRIBELAYERPLANE 0x1001c
#define MCD_SETLAYERPALETTE 0x1001d
#define MCD_DRAW_PIXELS 0x1001e
#define MCD_READ_PIXELS 0x1001f
#define MCD_COPY_PIXELS 0x10020
#define MCD_PIXEL_MAP 0x10021
#define MCD_DESTROY_WINDOW 0x10022
#define MCD_GET_TEXTURE_FORMATS 0x10023
#define MCD_SWAP_MULTIPLE 0x10024
#define MCD_PROCESS 0x10025
// Internal command structures for calling through client-server layer
typedef struct _MCDCREATECONTEXT { // Must be first element for MCDESC compatibility.
MCDESC_CREATE_CONTEXT escCreate; int ipfd; int iLayer; ULONG mcdFlags; MCDRCINFOPRIV *pRcInfo; } MCDCREATECONTEXT;
typedef struct _MCDCMDI { ULONG command; } MCDCMDI;
typedef struct _MCDDRIVERINFOCMDI { ULONG command; } MCDDRIVERINFOCMDI;
typedef struct _MCDPIXELFORMATCMDI { ULONG command; LONG iPixelFormat; } MCDPIXELFORMATCMDI;
typedef struct _MCDALLOCCMDI { ULONG command; ULONG sourceProcessID; ULONG numBytes; ULONG flags; } MCDALLOCCMDI;
typedef struct _MCDFREECMDI { ULONG command; HANDLE hMCDMem; } MCDFREECMDI;
typedef struct _MCDSTATECMDI { ULONG command; ULONG numStates; MCDSTATE *pNextState; MCDSTATE *pMaxState; } MCDSTATECMDI;
typedef struct _MCDVIEWPORTCMDI { ULONG command; MCDVIEWPORT MCDViewport; } MCDVIEWPORTCMDI;
typedef struct _MCDMEMSTATUSCMDI { ULONG command; MCDHANDLE hMCDMem; } MCDMEMSTATUSCMDI;
typedef struct _MCDSPANCMDI { ULONG command; HANDLE hMem; MCDSPAN MCDSpan; } MCDSPANCMDI;
typedef struct _MCDCLEARCMDI { ULONG command; ULONG buffers; } MCDCLEARCMDI;
typedef struct _MCDSCISSORCMDI { ULONG command; RECTL rect; BOOL bEnabled; } MCDSCISSORCMDI;
typedef struct _MCDSWAPCMDI { ULONG command; ULONG flags; } MCDSWAPCMDI;
typedef struct _MCDDELETERCCMDI { ULONG command; } MCDDELETERCCMDI;
typedef struct _MCDGETBUFFERSCMDI { ULONG command; BOOL getRect; } MCDGETBUFFERSCMDI;
typedef struct _MCDALLOCBUFFERSCMDI { ULONG command; RECTL WndRect; } MCDALLOCBUFFERSCMDI;
typedef struct _MCDLOCKCMDI { ULONG command; } MCDLOCKCMDI;
typedef struct _MCDBINDCONTEXTCMDI { ULONG command; HWND hWnd; } MCDBINDCONTEXTCMDI;
typedef struct _MCDSYNCCMDI { ULONG command; } MCDSYNCCMDI;
typedef struct _MCDCREATETEXCMDI { ULONG command; MCDTEXTUREDATA *pTexData; ULONG flags; VOID *pSurface; } MCDCREATETEXCMDI;
typedef struct _MCDDELETETEXCMDI { ULONG command; MCDHANDLE hTex; } MCDDELETETEXCMDI;
typedef struct _MCDUPDATESUBTEXCMDI { ULONG command; MCDHANDLE hTex; MCDTEXTUREDATA *pTexData; ULONG lod; RECTL rect; } MCDUPDATESUBTEXCMDI;
typedef struct _MCDUPDATETEXPALETTECMDI { ULONG command; MCDHANDLE hTex; MCDTEXTUREDATA *pTexData; ULONG start; ULONG numEntries; } MCDUPDATETEXPALETTECMDI; typedef struct _MCDUPDATETEXPRIORITYCMDI { ULONG command; MCDHANDLE hTex; MCDTEXTUREDATA *pTexData; } MCDUPDATETEXPRIORITYCMDI; typedef struct _MCDUPDATETEXSTATECMDI { ULONG command; MCDHANDLE hTex; MCDTEXTUREDATA *pTexData; } MCDUPDATETEXSTATECMDI; typedef struct _MCDTEXSTATUSCMDI { ULONG command; MCDHANDLE hTex; } MCDTEXSTATUSCMDI;
typedef struct _MCDTEXKEYCMDI { ULONG command; MCDHANDLE hTex; } MCDTEXKEYCMDI;
typedef struct _MCDLAYERPLANECMDI { ULONG command; LONG iPixelFormat; LONG iLayerPlane; } MCDLAYERPLANECMDI;
typedef struct _MCDSETLAYERPALCMDI { ULONG command; LONG iLayerPlane; BOOL bRealize; LONG cEntries; COLORREF acr[1]; } MCDSETLAYERPALCMDI;
typedef struct _MCDDRAWPIXELSCMDI { ULONG command; ULONG width; ULONG height; ULONG format; ULONG type; BOOL packed; VOID *pPixels; } MCDDRAWPIXELSCMDI;
typedef struct _MCDREADPIXELSCMDI { ULONG command; LONG x; LONG y; ULONG width; ULONG height; ULONG format; ULONG type; VOID *pPixels; } MCDREADPIXELSCMDI;
typedef struct _MCDCOPYPIXELSCMDI { ULONG command; LONG x; LONG y; ULONG width; ULONG height; ULONG format; ULONG type; } MCDCOPYPIXELSCMDI;
typedef struct _MCDPIXELMAPCMDI { ULONG command; ULONG mapType; ULONG mapSize; VOID *pMap; } MCDPIXELMAPCMDI;
typedef struct _MCDDESTROYWINDOWCMDI { ULONG command; } MCDDESTROYWINDOWCMDI;
typedef struct _MCDGETTEXTUREFORMATSCMDI { ULONG command; int nFmts; } MCDGETTEXTUREFORMATSCMDI;
typedef struct _MCDSWAPMULTIPLECMDI { ULONG command; UINT cBuffers; UINT auiFlags[MCDESC_MAX_EXTRA_WNDOBJ]; ULONG_PTR adwMcdWindow[MCDESC_MAX_EXTRA_WNDOBJ]; } MCDSWAPMULTIPLECMDI;
typedef struct _MCDPROCESSCMDI { ULONG command; HANDLE hMCDPrimMem; MCDCOMMAND *pMCDFirstCmd; ULONG cmdFlagsAll; ULONG primFlags; MCDTRANSFORM *pMCDTransform; MCDMATERIALCHANGES *pMCDMatChanges; } MCDPROCESSCMDI;
// Internal client-side memory structure
typedef struct _MCDMEMHDRI { ULONG flags; ULONG numBytes; VOID *maxMem; HANDLE hMCDMem; UCHAR *pMaxMem; UCHAR *pBase; MCDCONTEXT *pMCDContext; } MCDMEMHDRI;
|