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 class aggregates an IDirectDrawinterface. Although DirectDraw interfaces ( IDirectDrawand IDirectDrawSurface) potentially have the ability to be aggregated, this feature is not yet implemented.

Various parts of DirectShow require aggregation of the DirectDraw interfaces. In particular, the video renderer passes out media samples that expose IDirectDrawand IDirectDrawSurface.

This class and the CAggDrawSurfaceclass republish the methods of the DirectDraw class so that they can be aggregated.

Each member function in this class, with the exception of the constructor, SetDirectDraw, and NonDelegatingQueryInterface, simply calls the corresponding method on the IDirectDrawinterface with the parameters passed to it.

Protected Data Members

Member Description

m_pDirectDraw

DirectDraw object.

Member Functions

Function Description

CAggDirectDraw

Constructs a CAggDirectDrawobject.

SetDirectDraw

Sets the DirectDraw object to be aggregated by this class.

Overrideable Member Functions

Member function Description

NonDelegatingQueryInterface

Retrieves an interface and increments the reference count.

Implemented IDirectDraw Methods

Method Description

IDirectDraw::CreateClipper

Creates a DirectDrawClipper object.

IDirectDraw::CreateSurface

Creates a DirectDrawSurface object for this DirectDraw object.

IDirectDraw::EnumDisplayModes

Enumerates all display modes the hardware exposes through the DirectDraw object that are compatible with a provided surface description.

IDirectDraw::EnumSurfaces

Enumerates all existing or possible surfaces that meet the search criterion specified.

IDirectDraw::FlipToGDISurface

Makes the surface that GDI writes to the primary surface.

IDirectDraw::GetCaps

Fills in the raw (not remaining) capabilities of the device driver (the hardware) and/or the Hardware Emulation Layer (HEL).

IDirectDraw::GetDisplayMode

Retrieves the current display mode.

IDirectDraw::GetFourCCCodes

Gets the FOURCCcodes supported by the DirectDraw object.

IDirectDraw::GetGDISurface

Retrieves the DirectDrawSurface object that currently represents the surface memory that GDI treats as the primary surface.

IDirectDraw::GetMonitorFrequency

Points to a DirectDrawSurface pointer that will be made to point to the DirectDrawSurface object currently controlling GDI's primary surface memory.

IDirectDraw::GetScanLine

Retrieves the scan line that the monitor is currently updating to the display.

IDirectDraw::GetVerticalBlankStatus

Retrieves the status of the vertical blank.

IDirectDraw::RestoreDisplayMode

Resets the mode of the display device hardware for the primary surface to what it was before the IDirectDraw::SetDisplayModemethod was called.

IDirectDraw::SetCooperativeLevel

Determines the top-level behavior of the application.

IDirectDraw::SetDisplayMode

Sets the mode of the display device hardware.

IDirectDraw::WaitForVerticalBlank

Helps the caller synchronize itself with the vertical blank interval.

Requirements

Windows Embedded CE Windows CE 2.12 and later
Windows Mobile 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