DirectX SDK

IDirectDrawVideoPort::WaitForSync

The IDirectDrawVideoPort::WaitForSync method waits for VSYNC or until a given scan line is being drawn.

HRESULT WaitForSync(
  DWORD dwFlags,  
  DWORD dwLine,   
  DWORD dwTimeout 
);

Parameters

dwFlags
Flag specifying how the method waits for the video VSYNC or the specified line number. One of the following values:
DDVPWAIT_BEGIN
Return at the start of the vertical blanking interval.
DDVPWAIT_END
Return at the end of the vertical blanking interval.
DDVPWAIT_LINE
Return when the video counter either reaches or passes the line specified by the dwLine parameter.
dwLine
Video line determining when the method returns, relative to the field height, before prescaling. This parameter is ignored if the dwFlags parameter is set to DDVPWAIT_BEGIN or DDVPWAIT_END.
dwTimeout
Amount of time, in milliseconds, that the method waits for the next video vertical blank before timing out. If this parameter is 0, the method waits 3 times the value specified in the dwMicrosecondsPerField member of the DDVIDEOPORTDESC.

Return Values

If the method succeeds, the return value is DD_OK.

If it fails, the method can return one of the following error values:

DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_UNSUPPORTED
DDERR_VIDEONOTACTIVE
DDERR_WASSTILLDRAWING

Remarks

This method helps the caller synchronize with the video vertical blank interval or with an arbitrary line of video data. The method blocks the calling thread until either the video VSYNC occurs or the video line counter matches the specified line number.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dvp.h.
  Import Library: Use ddraw.lib.