IDirectDrawVideo Interface (Compact 2013)

3/26/2014

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

Header

dshow.h

Library

Strmiids.lib

See Also

Reference

DirectShow Interfaces