Microsoft Windows CE 3.0  

About DirectDraw Video-Port Extensions

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.

DirectDraw has been extended to include the DirectDrawVideoPort object, which takes advantage of video-port technology and provides its services through the IDDVideoPortContainerand IDirectDrawVideoPortinterfaces.

DirectDrawVideoPort objects do not control the video decoder, because it provides services of its own, nor does DirectDraw control the video source; it is beyond the scope of the video port. Rather, a DirectDrawVideoPort object represents the video port itself. It monitors the incoming signal and passes image data to the frame buffer, using parameters set though its interface methods to modify the image, perform flipping, or carry out other services.

The IDDVideoPortContainerinterface, which you can retrieve by calling the IDirectDraw4::QueryInterfacemethod, provides methods to query the hardware for its capabilities and create video-port objects. You create a video-port object by calling the IDDVideoPortContainer::CreateVideoPortmethod. Video-port objects expose their functionality through the IDirectDrawVideoPortinterface, enabling you to manipulate the video-port hardware itself. Using these interfaces, you can examine the video-port's capabilities, assign an overlay surface to receive image data, start and stop video playback, and set hardware parameters to manipulate image data for cropping, color control, scaling, or shrinking effects.

DirectDraw video-port extensions provide for multiple video ports on the same machine by allowing you to create multiple DirectDrawVideoPort objects. There is no requirement that multiple video ports on a machine be identicaleach port is separately enumerated and configured separately, regardless of any hardware differences that might exist.

In keeping with the general philosophy of DirectX, this technology gives programmers low-level access to hardware features while insulating them from specific hardware implementation details. It is not a high-level API.

 Last updated on Tuesday, May 18, 2004

© 2004 Microsoft Corporation. All rights reserved.