Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

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 IDirectDrawinterface. 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 DirectDraw is unloaded when the renderer is disconnected.

When the renderer has allocated the DirectDraw surfaces it will use for video playback, an application can obtain a DDSURFACEDESCstructure describing it.

By passing in a pointer to a DDSURFACEDESCstructure, 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 DDSURFACEDESCstructure 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 IDirectDrawinstance.

Applications are allowed to set the IDirectDrawinstance 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 DDCAPSstructure containing the hardware capabilities.

GetEmulatedCaps

Retrieves a DirectDraw-defined DDCAPSstructure 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 IDirectDrawinterface.

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 IDirectDrawinterface 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

Windows Embedded CE Windows CE 2.12 and later
Windows Mobile Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later
Note Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment