IDirectDrawVideo Interface

This interface is on the video renderer and provides information about Microsoft® DirectDraw® with respect to its use by the renderer. For example, the interface allows an application to get details of the surface and any available hardware capabilities. It also allows the application to adjust the surfaces that the renderer should use, and even to set the DirectDraw instance. There is some duplication in this interface with the IDirectDraw interface; however, this interface allows simple access to that information without calling the DirectDraw provider directly.

DirectDraw is not loaded by the renderer 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.

When to Implement

This interface is implemented by the DirectShow video renderer to provide information about DirectDraw surfaces and hardware capabilities.

When to Use

Applications can use this interface to get details of the surface and any available hardware capabilities, adjust the surfaces that the renderer should use, and set the IDirectDraw instance. Applications are allowed to set the IDirectDraw instance because DirectDraw can be opened only once per process; this helps resolve conflicts.

Methods in Vtable Order

The following table shows the methods that appear in the Vtable beneath the standard COM methods inherited from IUnknown.

Method Description
GetCaps Retrieves a DirectDraw-defined DDCAPS structure containing the hardware capabilities.
GetEmulatedCaps Retrieves a DirectDraw-defined DDCAPS structure containing the emulated capabilities.
CanUseOverlayStretch Determines whether the renderer will check overlay restrictions.
CanUseScanLine Determines whether the renderer will check the current scan line when drawing.
GetDirectDraw Retrieves the IDirectDraw interface.
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 might change display mode when going to full-screen mode.
WillUseFullScreen Determines whether DirectShow will change display mode when going to full-screen mode.

Requirements

DirectShow applications and DirectShow filters have different include file and link library requirements. See Setting Up the Build Environment for more information.

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header:

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.