82 lines
1.9 KiB
C
82 lines
1.9 KiB
C
/******************************Module*Header*******************************\
|
|
*
|
|
* Module Name: mcdesc.h
|
|
*
|
|
* Defines the enhanced ExtEscape functionality used for MCD support.
|
|
*
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
*
|
|
\**************************************************************************/
|
|
|
|
#ifndef __MCDESC_H__
|
|
#define __MCDESC_H__
|
|
|
|
// Escape through which all MCD functionality is accessed.
|
|
|
|
#ifndef MCDFUNCS
|
|
#define MCDFUNCS 3076
|
|
#endif
|
|
|
|
// Video memory surface description, for DDraw surface rendering.
|
|
|
|
typedef struct _MCDESC_SURFACE
|
|
{
|
|
HANDLE hSurf;
|
|
LONG lOffset;
|
|
LONG lStride;
|
|
RECTL rclPos;
|
|
} MCDESC_SURFACE;
|
|
|
|
// Data header for every escape.
|
|
|
|
typedef struct _MCDESC_HEADER
|
|
{
|
|
ULONG flags;
|
|
HANDLE hRC;
|
|
HANDLE hSharedMem;
|
|
VOID *pSharedMem;
|
|
ULONG sharedMemSize;
|
|
ULONG_PTR dwWindow;
|
|
MCDESC_SURFACE msrfColor;
|
|
MCDESC_SURFACE msrfDepth;
|
|
ULONG cLockSurfaces;
|
|
ULONG cExtraWndobj;
|
|
} MCDESC_HEADER;
|
|
|
|
// Data header used only on NT.
|
|
|
|
typedef struct _MCDESC_HEADER_NTPRIVATE
|
|
{
|
|
struct _WNDOBJ *pwo;
|
|
VOID *pBuffer;
|
|
ULONG bufferSize;
|
|
HANDLE *pLockSurfaces;
|
|
HDC *pExtraWndobj;
|
|
} MCDESC_HEADER_NTPRIVATE;
|
|
|
|
// MCDESC_HEADER flags.
|
|
|
|
#define MCDESC_FL_CREATE_CONTEXT 0x00000001
|
|
#define MCDESC_FL_SURFACES 0x00000002
|
|
#define MCDESC_FL_LOCK_SURFACES 0x00000004
|
|
#define MCDESC_FL_EXTRA_WNDOBJ 0x00000008
|
|
#define MCDESC_FL_DISPLAY_LOCK 0x00000010
|
|
#define MCDESC_FL_BATCH 0x00000020
|
|
// Used only for Win95.
|
|
#define MCDESC_FL_SWAPBUFFER 0x00000040
|
|
|
|
#define MCDESC_MAX_LOCK_SURFACES 12
|
|
#define MCDESC_MAX_EXTRA_WNDOBJ 16
|
|
|
|
// MCDSURFACE_HWND alias, used when creating contexts.
|
|
#define MCDESC_SURFACE_HWND 0x00000001
|
|
|
|
// Context creation information.
|
|
typedef struct _MCDESC_CREATE_CONTEXT
|
|
{
|
|
ULONG flags;
|
|
HWND hwnd;
|
|
} MCDESC_CREATE_CONTEXT;
|
|
|
|
#endif // __MCDESC_H__
|