#define TRACE() \ DbgPrint("DXG: %s\n", __FUNCTION__) DWORD NTAPI DxD3dContextCreate( PVOID p1, PVOID p2, PVOID p3, PVOID p4) { TRACE(); return 0; } DWORD NTAPI DxD3dContextDestroy( PVOID p1) { TRACE(); return 0; } DWORD NTAPI DxD3dContextDestroyAll( PVOID p1) { TRACE(); return 0; } DWORD NTAPI DxD3dValidateTextureStageState( PVOID p1) { TRACE(); return 0; } DWORD NTAPI DxD3dDrawPrimitives2( PVOID p1, PVOID p2, PVOID p3, PVOID p4, PVOID p5, PVOID p6, PVOID p7) { TRACE(); return 0; } DWORD NTAPI DxDdGetDriverState( PVOID p1) { TRACE(); return 0; } DWORD NTAPI DxDdAddAttachedSurface( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdAlphaBlt( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdAttachSurface( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdBeginMoCompFrame( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdBlt( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdColorControl( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdCreateMoComp( PVOID p1, PVOID p2) { return 0; } DWORD NTAPI DxDdDeleteDirectDrawObject( PVOID p1) { return 0; } DWORD NTAPI DxDdDeleteSurfaceObject( PVOID p1) { TRACE(); return 0; } DWORD NTAPI DxDdDestroyMoComp( PVOID p1, PVOID p2) { return 0; } DWORD NTAPI DxDdDestroySurface( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdDestroyD3DBuffer( PVOID p1) { return 0; } DWORD NTAPI DxDdEndMoCompFrame( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdFlip( PVOID p1, PVOID p2, PVOID p3, PVOID p4, PVOID p5) { return 0; } DWORD NTAPI DxDdFlipToGDISurface( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdGetAvailDriverMemory( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdGetBltStatus( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdGetDC( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdGetDxHandle( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdGetFlipStatus( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdGetInternalMoCompInfo( PVOID p1, PVOID p2) { return 0; } DWORD NTAPI DxDdGetMoCompBuffInfo( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdGetMoCompGuids( PVOID p1, PVOID p2) { return 0; } DWORD NTAPI DxDdGetMoCompFormats( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdGetScanLine( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdLockD3D( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdQueryMoCompStatus( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdReleaseDC( PVOID p1) { TRACE(); return 0; } DWORD NTAPI DxDdRenderMoComp( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdResetVisrgn( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdSetColorKey( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdSetExclusiveMode( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdSetGammaRamp( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdCreateSurfaceEx( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdSetOverlayPosition( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdUnattachSurface( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdUnlockD3D( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdUpdateOverlay( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdWaitForVerticalBlank( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpCanCreateVideoPort( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpColorControl( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpCreateVideoPort( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpDestroyVideoPort( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpFlipVideoPort( PVOID p1, PVOID p2, PVOID p3, PVOID p4) { TRACE(); return 0; } DWORD NTAPI DxDvpGetVideoPortBandwidth( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpGetVideoPortField( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpGetVideoPortFlipStatus( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpGetVideoPortInputFormats( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpGetVideoPortLine( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpGetVideoPortOutputFormats( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpGetVideoPortConnectInfo( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpGetVideoSignalStatus( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpUpdateVideoPort( PVOID p1, PVOID p2, PVOID p3, PVOID p4) { TRACE(); return 0; } DWORD NTAPI DxDvpWaitForVideoPortSync( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDvpAcquireNotification( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDvpReleaseNotification( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdHeapVidMemAllocAligned( PVOID p1, PVOID p2, PVOID p3, PVOID p4, PVOID p5) { TRACE(); return 0; } DWORD NTAPI DxDdHeapVidMemFree( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdDisableDirectDraw( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdSuspendDirectDraw( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdResumeDirectDraw( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdDynamicModeChange( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdCloseProcess( PVOID p1) { TRACE(); return 0; } DWORD NTAPI DxDdGetDirectDrawBound( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdEnableDirectDrawRedirection( PVOID p1, PVOID p2) { TRACE(); return 0; } DWORD NTAPI DxDdAllocPrivateUserMem( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdFreePrivateUserMem( PVOID p1, PVOID p2) { return 0; } DWORD NTAPI DxDdSetAccelLevel( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DWORD NTAPI DxDdGetSurfaceLock( PVOID p1) { TRACE(); return 0; } DWORD NTAPI DxDdEnumLockedSurfaceRect( PVOID p1, PVOID p2, PVOID p3) { TRACE(); return 0; } DRVFN gaDxgFuncs [] = { {DXG_INDEX_DxDxgGenericThunk, (PFN)DxDxgGenericThunk}, {DXG_INDEX_DxD3dContextCreate, (PFN)DxD3dContextCreate}, {DXG_INDEX_DxD3dContextDestroy, (PFN)DxD3dContextDestroy}, {DXG_INDEX_DxD3dContextDestroyAll, (PFN)DxD3dContextDestroyAll}, {DXG_INDEX_DxD3dValidateTextureStageState, (PFN)DxD3dValidateTextureStageState}, {DXG_INDEX_DxD3dDrawPrimitives2, (PFN)DxD3dDrawPrimitives2}, {DXG_INDEX_DxDdGetDriverState, (PFN)DxDdGetDriverState}, {DXG_INDEX_DxDdAddAttachedSurface, (PFN)DxDdAddAttachedSurface}, {DXG_INDEX_DxDdAlphaBlt, (PFN)DxDdAlphaBlt}, {DXG_INDEX_DxDdAttachSurface, (PFN)DxDdAttachSurface}, {DXG_INDEX_DxDdBeginMoCompFrame, (PFN)DxDdBeginMoCompFrame}, {DXG_INDEX_DxDdBlt, (PFN)DxDdBlt}, {DXG_INDEX_DxDdCanCreateSurface, (PFN)DxDdCanCreateSurface}, {DXG_INDEX_DxDdCanCreateD3DBuffer, (PFN)DxDdCanCreateD3DBuffer}, {DXG_INDEX_DxDdColorControl, (PFN)DxDdColorControl}, {DXG_INDEX_DxDdCreateDirectDrawObject, (PFN)DxDdCreateDirectDrawObject}, {DXG_INDEX_DxDdCreateSurface, (PFN)DxDdCreateD3DBuffer}, {DXG_INDEX_DxDdCreateD3DBuffer, (PFN)DxDdCreateD3DBuffer}, {DXG_INDEX_DxDdCreateMoComp, (PFN)DxDdCreateMoComp}, {DXG_INDEX_DxDdCreateSurfaceObject, (PFN)DxDdCreateSurfaceObject}, {DXG_INDEX_DxDdDeleteDirectDrawObject, (PFN)DxDdDeleteDirectDrawObject}, {DXG_INDEX_DxDdDeleteSurfaceObject, (PFN)DxDdDeleteSurfaceObject}, {DXG_INDEX_DxDdDestroyMoComp, (PFN)DxDdDestroyMoComp}, {DXG_INDEX_DxDdDestroySurface, (PFN)DxDdDestroySurface}, {DXG_INDEX_DxDdDestroyD3DBuffer, (PFN)DxDdDestroyD3DBuffer}, {DXG_INDEX_DxDdEndMoCompFrame, (PFN)DxDdEndMoCompFrame}, {DXG_INDEX_DxDdFlip, (PFN)DxDdFlip}, {DXG_INDEX_DxDdFlipToGDISurface, (PFN)DxDdFlipToGDISurface}, {DXG_INDEX_DxDdGetAvailDriverMemory, (PFN)DxDdGetAvailDriverMemory}, {DXG_INDEX_DxDdGetBltStatus, (PFN)DxDdGetBltStatus}, {DXG_INDEX_DxDdGetDC, (PFN)DxDdGetDC}, {DXG_INDEX_DxDdGetDriverInfo, (PFN)DxDdGetDriverInfo}, {DXG_INDEX_DxDdGetDxHandle, (PFN)DxDdGetDxHandle}, {DXG_INDEX_DxDdGetFlipStatus, (PFN)DxDdGetFlipStatus}, {DXG_INDEX_DxDdGetInternalMoCompInfo, (PFN)DxDdGetInternalMoCompInfo}, {DXG_INDEX_DxDdGetMoCompBuffInfo, (PFN)DxDdGetMoCompBuffInfo}, {DXG_INDEX_DxDdGetMoCompGuids, (PFN)DxDdGetMoCompGuids}, {DXG_INDEX_DxDdGetMoCompFormats, (PFN)DxDdGetMoCompFormats}, {DXG_INDEX_DxDdGetScanLine, (PFN)DxDdGetScanLine}, {DXG_INDEX_DxDdLock, (PFN)DxDdLock}, {DXG_INDEX_DxDdLockD3D, (PFN)DxDdLockD3D}, {DXG_INDEX_DxDdQueryDirectDrawObject, (PFN)DxDdQueryDirectDrawObject}, {DXG_INDEX_DxDdQueryMoCompStatus, (PFN)DxDdQueryMoCompStatus}, {DXG_INDEX_DxDdReenableDirectDrawObject, (PFN)DxDdReenableDirectDrawObject}, {DXG_INDEX_DxDdReleaseDC, (PFN)DxDdReleaseDC}, {DXG_INDEX_DxDdRenderMoComp, (PFN)DxDdRenderMoComp}, {DXG_INDEX_DxDdResetVisrgn, (PFN)DxDdResetVisrgn}, {DXG_INDEX_DxDdSetColorKey, (PFN)DxDdSetColorKey}, {DXG_INDEX_DxDdSetExclusiveMode, (PFN)DxDdSetExclusiveMode}, {DXG_INDEX_DxDdSetGammaRamp, (PFN)DxDdSetGammaRamp}, {DXG_INDEX_DxDdCreateSurfaceEx, (PFN)DxDdCreateSurfaceEx}, {DXG_INDEX_DxDdSetOverlayPosition, (PFN)DxDdSetOverlayPosition}, {DXG_INDEX_DxDdUnattachSurface, (PFN)DxDdUnattachSurface}, {DXG_INDEX_DxDdUnlock, (PFN)DxDdUnlock}, {DXG_INDEX_DxDdUnlockD3D, (PFN)DxDdUnlockD3D}, {DXG_INDEX_DxDdUpdateOverlay, (PFN)DxDdUpdateOverlay}, {DXG_INDEX_DxDdWaitForVerticalBlank, (PFN)DxDdWaitForVerticalBlank}, {DXG_INDEX_DxDvpCanCreateVideoPort, (PFN)DxDvpCanCreateVideoPort}, {DXG_INDEX_DxDvpColorControl, (PFN)DxDvpColorControl}, {DXG_INDEX_DxDvpCreateVideoPort, (PFN)DxDvpCreateVideoPort}, {DXG_INDEX_DxDvpDestroyVideoPort, (PFN)DxDvpDestroyVideoPort}, {DXG_INDEX_DxDvpFlipVideoPort, (PFN)DxDvpFlipVideoPort}, {DXG_INDEX_DxDvpGetVideoPortBandwidth, (PFN)DxDvpGetVideoPortBandwidth}, {DXG_INDEX_DxDvpGetVideoPortField, (PFN)DxDvpGetVideoPortField}, {DXG_INDEX_DxDvpGetVideoPortFlipStatus, (PFN)DxDvpGetVideoPortFlipStatus}, {DXG_INDEX_DxDvpGetVideoPortInputFormats, (PFN)DxDvpGetVideoPortInputFormats}, {DXG_INDEX_DxDvpGetVideoPortLine, (PFN)DxDvpGetVideoPortLine}, {DXG_INDEX_DxDvpGetVideoPortOutputFormats, (PFN)DxDvpGetVideoPortOutputFormats}, {DXG_INDEX_DxDvpGetVideoPortConnectInfo, (PFN)DxDvpGetVideoPortConnectInfo}, {DXG_INDEX_DxDvpGetVideoSignalStatus, (PFN)DxDvpGetVideoSignalStatus}, {DXG_INDEX_DxDvpUpdateVideoPort, (PFN)DxDvpUpdateVideoPort}, {DXG_INDEX_DxDvpWaitForVideoPortSync, (PFN)DxDvpWaitForVideoPortSync}, {DXG_INDEX_DxDvpAcquireNotification, (PFN)DxDvpAcquireNotification}, {DXG_INDEX_DxDvpReleaseNotification, (PFN)DxDvpReleaseNotification}, {DXG_INDEX_DxDdHeapVidMemAllocAligned, (PFN)DxDdHeapVidMemAllocAligned}, {DXG_INDEX_DxDdHeapVidMemFree, (PFN)DxDdHeapVidMemFree}, {DXG_INDEX_DxDdEnableDirectDraw, (PFN)DxDdEnableDirectDraw}, {DXG_INDEX_DxDdDisableDirectDraw, (PFN)DxDdDisableDirectDraw}, {DXG_INDEX_DxDdSuspendDirectDraw, (PFN)DxDdSuspendDirectDraw}, {DXG_INDEX_DxDdResumeDirectDraw, (PFN)DxDdResumeDirectDraw}, {DXG_INDEX_DxDdDynamicModeChange, (PFN)DxDdDynamicModeChange}, {DXG_INDEX_DxDdCloseProcess, (PFN)DxDdCloseProcess}, {DXG_INDEX_DxDdGetDirectDrawBound, (PFN)DxDdGetDirectDrawBound}, {DXG_INDEX_DxDdEnableDirectDrawRedirection, (PFN)DxDdEnableDirectDrawRedirection}, {DXG_INDEX_DxDdAllocPrivateUserMem, (PFN)DxDdAllocPrivateUserMem}, {DXG_INDEX_DxDdFreePrivateUserMem, (PFN)DxDdFreePrivateUserMem}, {DXG_INDEX_DxDdLockDirectDrawSurface, (PFN)DxDdLockDirectDrawSurface}, {DXG_INDEX_DxDdUnlockDirectDrawSurface, (PFN)DxDdUnlockDirectDrawSurface}, {DXG_INDEX_DxDdSetAccelLevel, (PFN)DxDdSetAccelLevel}, {DXG_INDEX_DxDdGetSurfaceLock, (PFN)DxDdGetSurfaceLock}, {DXG_INDEX_DxDdEnumLockedSurfaceRect, (PFN)DxDdEnumLockedSurfaceRect}, {DXG_INDEX_DxDdIoctl, (PFN)DxDdIoctl} };