Microsoft DirectX 9.0 |
The IDirectDrawVideo interface is implemented on the Video Renderer and provides applications with information about DirectDraw surfaces and hardware capabilities. Applications use this interface to control what DirectDraw features the Video Renderer will take advantage of. For example, if you are positive that you don't want the Video Renderer to use a hardware overlay you can disable its use via the SetSwitches method.
Note You can't use this interface to force the Video Renderer to use a particular DirectDraw feature; you can only stop it from using that feature.
There is some duplication in this interface with the IDirectDraw interface; however, this interface enables simple access to that information without calling the DirectDraw provider directly.
The Video Renderer doesn't load DirectDraw until it is connected, and likewise DirectDraw is unloaded only when the renderer is disconnected. When the renderer has allocated the DirectDraw surfaces it will use for video playback, an application can obtain a DDSURFACEDESC structure describing it. By passing in a pointer to a DDSURFACEDESC structure, the renderer will fill in the structure with the details of the current surface. If DirectDraw has not been loaded, the renderer will return E_FAIL. If the renderer is using DCI (the predecessor to DirectDraw), the DDSURFACEDESC structure is not filled in but the call will return S_FALSE. The only type of DCI surfaces the renderer uses are primary surfaces.
In addition to the methods inherited from IUnknown, the IDirectDrawVideo interface exposes the following methods.
Method | Description |
CanUseOverlayStretch | Determines whether the renderer will check overlay restrictions. |
CanUseScanLine | Determines whether the renderer will check the current scan line when drawing. |
GetCaps | Retrieves a DirectDraw-defined DDCAPS structure containing the hardware capabilities. |
GetDirectDraw | Retrieves the IDirectDraw interface. |
GetEmulatedCaps | Retrieves a DirectDraw-defined DDCAPS structure containing the emulated capabilities. |
GetFourCCCodes | Retrieves the multimedia format type FOURCC DWORD. |
GetSurfaceDesc | Retrieves a description of the DirectDraw surface in use. |
GetSurfaceType | Retrieves the actual surface type. |
GetSwitches | Retrieves the surface types that the renderer is allowed to use. |
SetDefault | Makes the current property settings the global default. |
SetDirectDraw | Passes the IDirectDraw interface to a loaded driver. |
SetSwitches | Sets the surface types that the renderer is allowed to use. |
UseOverlayStretch | Determines whether the renderer should check overlay stretch limitations. |
UseScanLine | Determines whether the renderer should check the current scan line when drawing a video. |
UseWhenFullScreen | Determines whether DirectShow should change display mode when going to full-screen mode. |
WillUseFullScreen | Determines whether DirectShow will change display mode when going to full-screen mode. |