8 #define STARTF_USESIZE 2
9 #define STARTF_USEPOSITION 4
10 #define INTERNAL_CALL NTAPI
11 #define NT_BUILD_ENVIRONMENT
18 /* DXG treats this as opaque */
20 typedef PVOID PW32THREAD
;
22 typedef struct _DD_BASEOBJECT
26 USHORT cExclusiveLock
;
29 } DD_BASEOBJECT
, *PDD_BASEOBJECT
;
31 #include <drivers/directx/directxint.h>
32 #include <drivers/directx/dxg.h>
33 #include <drivers/directx/dxeng.h>
37 #define ObjType_DDSURFACE_TYPE 2
38 #define ObjType_DDVIDEOPORT_TYPE 4
39 #define ObjType_DDMOTIONCOMP_TYPE 5
41 typedef struct _DD_ENTRY
62 } DD_ENTRY
, *PDD_ENTRY
;
64 typedef struct _EDD_SURFACE_LOCAL
67 DD_SURFACE_LOCAL Surfacelcl
;
68 } EDD_SURFACE_LOCAL
, *PEDD_SURFACE_LOCAL
;
70 /* exported functions */
71 NTSTATUS NTAPI
DriverEntry(IN PVOID Context1
, IN PVOID Context2
);
72 NTSTATUS NTAPI
GsDriverEntry(IN PVOID Context1
, IN PVOID Context2
);
73 NTSTATUS APIENTRY
DxDdCleanupDxGraphics(VOID
);
74 BOOL NTAPI
DxDdEnableDirectDraw(PVOID arg1
, BOOL arg2
);
77 extern ULONG gcSizeDdHmgr
;
78 extern PDD_ENTRY gpentDdHmgr
;
79 extern ULONG gcMaxDdHmgr
;
80 extern PDD_ENTRY gpentDdHmgrLast
;
81 extern HANDLE ghFreeDdHmgr
;
82 extern HSEMAPHORE ghsemHmgr
;
83 extern LONG gcDummyPageRefCnt
;
84 extern HSEMAPHORE ghsemDummyPage
;
85 extern VOID
*gpDummyPage
;
86 extern PEPROCESS gpepSession
;
87 extern PLARGE_INTEGER gpLockShortDelay
;
89 /* Driver list export functions */
90 DWORD NTAPI
DxDxgGenericThunk(ULONG_PTR ulIndex
, ULONG_PTR ulHandle
, SIZE_T
*pdwSizeOfPtr1
, PVOID pvPtr1
, SIZE_T
*pdwSizeOfPtr2
, PVOID pvPtr2
);
91 DWORD NTAPI
DxDdIoctl(ULONG ulIoctl
, PVOID pBuffer
, ULONG ulBufferSize
);
92 PDD_SURFACE_LOCAL NTAPI
DxDdLockDirectDrawSurface(HANDLE hDdSurface
);
93 BOOL NTAPI
DxDdUnlockDirectDrawSurface(PDD_SURFACE_LOCAL pSurface
);
95 /* Internal functions */
96 BOOL FASTCALL
VerifyObjectOwner(PDD_ENTRY pEntry
);
97 BOOL FASTCALL
DdHmgCreate(VOID
);
98 BOOL FASTCALL
DdHmgDestroy(VOID
);
99 PVOID FASTCALL
DdHmgLock(HANDLE DdHandle
, UCHAR ObjectType
, BOOLEAN LockOwned
);
102 #define drvDxEngLockDC gpEngFuncs[DXENG_INDEX_DxEngLockDC]
103 #define drvDxEngGetDCState gpEngFuncs[DXENG_INDEX_DxEngGetDCState]
104 #define drvDxEngGetHdevData gpEngFuncs[DXENG_INDEX_DxEngGetHdevData]
105 #define drvDxEngUnlockDC gpEngFuncs[DXENG_INDEX_DxEngUnlockDC]
106 #define drvDxEngUnlockHdev gpEngFuncs[DXENG_INDEX_DxEngUnlockHdev]
107 #define drvDxEngLockHdev gpEngFuncs[DXENG_INDEX_DxEngLockHdev]
109 #endif /* _DXG_PCH_ */