Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygendxg_int.h
Go to the documentation of this file.
00001 #include <ntifs.h> 00002 00003 /* Win32 Headers */ 00004 #define WINBASEAPI 00005 #define STARTF_USESIZE 2 00006 #define STARTF_USEPOSITION 4 00007 #define INTERNAL_CALL NTAPI 00008 #define NT_BUILD_ENVIRONMENT 00009 00010 #include <windef.h> 00011 #include <winerror.h> 00012 #include <wingdi.h> 00013 #include <winddi.h> 00014 00015 /* DXG treats this as opaque */ 00016 typedef PVOID PDC; 00017 typedef PVOID PW32THREAD; 00018 00019 typedef struct _DD_BASEOBJECT 00020 { 00021 HGDIOBJ hHmgr; 00022 ULONG ulShareCount; 00023 USHORT cExclusiveLock; 00024 USHORT BaseFlags; 00025 PW32THREAD Tid; 00026 } DD_BASEOBJECT, *PDD_BASEOBJECT; 00027 00028 #include <drivers/directx/directxint.h> 00029 #include <drivers/directx/dxg.h> 00030 #include <drivers/directx/dxeng.h> 00031 00032 #include "tags.h" 00033 00034 #define ObjType_DDSURFACE_TYPE 2 00035 #define ObjType_DDVIDEOPORT_TYPE 4 00036 #define ObjType_DDMOTIONCOMP_TYPE 5 00037 00038 typedef struct _DD_ENTRY 00039 { 00040 union 00041 { 00042 PDD_BASEOBJECT pobj; 00043 HANDLE hFree; 00044 }; 00045 union 00046 { 00047 ULONG ulObj; 00048 struct 00049 { 00050 USHORT Count; 00051 USHORT Lock; 00052 HANDLE Pid; 00053 }; 00054 } ObjectOwner; 00055 USHORT FullUnique; 00056 UCHAR Objt; 00057 UCHAR Flags; 00058 PVOID pUser; 00059 } DD_ENTRY, *PDD_ENTRY; 00060 00061 typedef struct _EDD_SURFACE_LOCAL 00062 { 00063 DD_BASEOBJECT Object; 00064 DD_SURFACE_LOCAL Surfacelcl; 00065 } EDD_SURFACE_LOCAL, *PEDD_SURFACE_LOCAL; 00066 00067 /* exported functions */ 00068 NTSTATUS NTAPI DriverEntry(IN PVOID Context1, IN PVOID Context2); 00069 NTSTATUS NTAPI GsDriverEntry(IN PVOID Context1, IN PVOID Context2); 00070 NTSTATUS APIENTRY DxDdCleanupDxGraphics(VOID); 00071 00072 /* Global pointers */ 00073 extern ULONG gcSizeDdHmgr; 00074 extern PDD_ENTRY gpentDdHmgr; 00075 extern ULONG gcMaxDdHmgr; 00076 extern PDD_ENTRY gpentDdHmgrLast; 00077 extern HANDLE ghFreeDdHmgr; 00078 extern HSEMAPHORE ghsemHmgr; 00079 extern LONG gcDummyPageRefCnt; 00080 extern HSEMAPHORE ghsemDummyPage; 00081 extern VOID *gpDummyPage; 00082 extern PEPROCESS gpepSession; 00083 extern PLARGE_INTEGER gpLockShortDelay; 00084 00085 /* Driver list export functions */ 00086 DWORD NTAPI DxDxgGenericThunk(ULONG_PTR ulIndex, ULONG_PTR ulHandle, SIZE_T *pdwSizeOfPtr1, PVOID pvPtr1, SIZE_T *pdwSizeOfPtr2, PVOID pvPtr2); 00087 DWORD NTAPI DxDdIoctl(ULONG ulIoctl, PVOID pBuffer, ULONG ulBufferSize); 00088 PDD_SURFACE_LOCAL NTAPI DxDdLockDirectDrawSurface(HANDLE hDdSurface); 00089 BOOL NTAPI DxDdUnlockDirectDrawSurface(PDD_SURFACE_LOCAL pSurface); 00090 00091 /* Internal functions */ 00092 BOOL FASTCALL VerifyObjectOwner(PDD_ENTRY pEntry); 00093 BOOL FASTCALL DdHmgCreate(VOID); 00094 BOOL FASTCALL DdHmgDestroy(VOID); 00095 PVOID FASTCALL DdHmgLock(HANDLE DdHandle, UCHAR ObjectType, BOOLEAN LockOwned); 00096 00097 /* define stuff */ 00098 #define drvDxEngLockDC gpEngFuncs[DXENG_INDEX_DxEngLockDC] 00099 #define drvDxEngGetDCState gpEngFuncs[DXENG_INDEX_DxEngGetDCState] 00100 #define drvDxEngGetHdevData gpEngFuncs[DXENG_INDEX_DxEngGetHdevData] 00101 #define drvDxEngUnlockDC gpEngFuncs[DXENG_INDEX_DxEngUnlockDC] 00102 #define drvDxEngUnlockHdev gpEngFuncs[DXENG_INDEX_DxEngUnlockHdev] 00103 #define drvDxEngLockHdev gpEngFuncs[DXENG_INDEX_DxEngLockHdev] Generated on Sat May 26 2012 04:37:17 for ReactOS by
1.7.6.1
|