61 SurfaceDesc.ddpfPixelFormat.dwFlags =
DDPF_RGB;
69 SurfaceDesc.ddpfPixelFormat.dwRGBBitCount = DevMode.
dmBitsPerPel;
81 if (pDDSD->dwFlags &
DDSD_HEIGHT && pDDSD->dwHeight != SurfaceDesc.dwHeight)
84 if (pDDSD->dwFlags &
DDSD_WIDTH && pDDSD->dwWidth != SurfaceDesc.dwWidth)
87 if (pDDSD->dwFlags &
DDSD_PITCH && pDDSD->lPitch != SurfaceDesc.lPitch)
90 if (pDDSD->dwFlags &
DDSD_REFRESHRATE && pDDSD->dwRefreshRate != SurfaceDesc.dwRefreshRate)
93 if (pDDSD->dwFlags &
DDSD_PIXELFORMAT && pDDSD->ddpfPixelFormat.dwRGBBitCount != SurfaceDesc.ddpfPixelFormat.dwRGBBitCount)
237 (!dwBPP ||
This->lpLcl->lpGbl->vmiData.ddpfDisplay.dwRGBBitCount == dwBPP) &&
274 DX_STUB_str(
"Warning ChangeDisplaySettings return DISP_CHANGE_BADMODE, but ddraw.dll ignore it\n");
278 This->lpLcl->lpGbl->hDD =
This->lpLcl->hDD;
290 This->lpLcl->lpGbl->hDD =
This->lpLcl->hDD;
314 ChangeDisplaySettings(
NULL, 0);
319 This->lpLcl->lpGbl->hDD =
This->lpLcl->hDD;
346 if (
This->lpLcl->lpGbl->dwMonitorFrequency)
348 *lpFreq =
This->lpLcl->lpGbl->dwMonitorFrequency;
386 pDDSD->dwHeight =
This->lpLcl->lpGbl->vmiData.dwDisplayHeight;
387 pDDSD->dwWidth =
This->lpLcl->lpGbl->vmiData.dwDisplayWidth;
388 pDDSD->ddpfPixelFormat =
This->lpLcl->lpGbl->vmiData.ddpfDisplay;
389 pDDSD->dwRefreshRate =
This->lpLcl->lpGbl->dwMonitorFrequency;
390 pDDSD->lPitch =
This->lpLcl->lpGbl->vmiData.lDisplayPitch;
422 pDDSD->
dwHeight =
This->lpLcl->lpGbl->vmiData.dwDisplayHeight;
423 pDDSD->
dwWidth =
This->lpLcl->lpGbl->vmiData.dwDisplayWidth;
426 pDDSD->
lPitch =
This->lpLcl->lpGbl->vmiData.lDisplayPitch;
HRESULT WINAPI Main_DirectDraw_GetDisplayMode4(LPDDRAWI_DIRECTDRAW_INT This, LPDDSURFACEDESC2 pDDSD)
HRESULT WINAPI Main_DirectDraw_RestoreDisplayMode(LPDDRAWI_DIRECTDRAW_INT This)
HRESULT WINAPI Main_DirectDraw_EnumDisplayModes4(LPDDRAWI_DIRECTDRAW_INT This, DWORD dwFlags, LPDDSURFACEDESC2 pDDSD, LPVOID pContext, LPDDENUMMODESCALLBACK2 pCallback)
HRESULT WINAPI Main_DirectDraw_SetDisplayMode2(LPDDRAWI_DIRECTDRAW_INT This, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags)
HRESULT WINAPI Main_DirectDraw_EnumDisplayModes(LPDDRAWI_DIRECTDRAW_INT This, DWORD dwFlags, LPDDSURFACEDESC pDDSD, LPVOID pContext, LPDDENUMMODESCALLBACK pCallback)
HRESULT WINAPI Main_DirectDraw_GetDisplayMode(LPDDRAWI_DIRECTDRAW_INT This, LPDDSURFACEDESC pDDSD)
HRESULT WINAPI Main_DirectDraw_GetMonitorFrequency(LPDDRAWI_DIRECTDRAW_INT This, LPDWORD lpFreq)
HRESULT WINAPI Main_DirectDraw_SetDisplayMode(LPDDRAWI_DIRECTDRAW_INT This, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP)
#define DdReenableDirectDrawObject
static const WCHAR dwWidth[]
static const WCHAR dwHeight[]
static const WCHAR dwRefreshRate[]
BOOL NTAPI IsBadWritePtr(IN LPVOID lp, IN UINT_PTR ucb)
BOOL NTAPI IsBadCodePtr(FARPROC lpfn)
FxPnpStateCallbackInfo * pCallback
#define EXCEPTION_EXECUTE_HANDLER
#define _SEH2_EXCEPT(...)
#define DX_WINDBG_trace_res(width, height, bpp, freq)
#define DX_WINDBG_trace()
HRESULT WINAPI StartDirectDraw(LPDIRECTDRAW iface, LPGUID pGUID, BOOL reenable)
HRESULT(WINAPI * LPDDENUMMODESCALLBACK2)(LPDDSURFACEDESC2, LPVOID)
#define DDEDM_REFRESHRATES
struct _DDSURFACEDESC2 DDSURFACEDESC2
struct _DDPIXELFORMAT DDPIXELFORMAT
struct IDirectDraw * LPDIRECTDRAW
HRESULT(WINAPI * LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID)
#define DDERR_UNSUPPORTED
#define DDERR_INVALIDPARAMS
DDPIXELFORMAT ddpfPixelFormat
static BOOLEAN ModeChanged
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define DM_DISPLAYFREQUENCY
#define DISP_CHANGE_BADMODE
#define DISP_CHANGE_SUCCESSFUL