IDvdGraphBuilder::GetDvdInterface method (strmif.h)

The GetDvdInterface method retrieves interfaces from the DVD-Video playback graph to make DVD-Video playback development easier.


HRESULT GetDvdInterface(
  [in]  REFIID riid,
  [out] void   **ppvIF


[in] riid

IID of the requested interface.

[out] ppvIF

Receives a pointer to the interface. The application must release the interface.

Return value

Returns an HRESULT value. Possible values include the following.

Return code Description
The ppvIF parameter is invalid. This parameter must not be NULL.
The requested interface could not be returned.
The graph is not built yet. See Remarks.


You can use this method to select and configure a video renderer filter before you build the filter graph for DVD playback. The following interfaces are available:

If you call GetDvdInterface to get any of these interfaces before you build the filter graph, the DVD Graph Builder creates the appropriate video renderer. It will use this renderer later when you build the graph. After the video renderer has been selected, you can no longer retrieve the interfaces for the other video renderers. (The GetDvdInterface method will return E_NOINTERFACE.)

Before the DVD playback graph is built, if you request any interfaces that are not on the previous list, the method returns VFW_E_DVD_GRAPHNOTREADY. To build the DVD graph, call IDvdGraphBuilder::RenderDvdVideoVolume. After you build the graph, you can use GetDvdInterface to retrieve some additional interfaces:

To get other interfaces, call IDvdGraphBuilder::GetFiltergraph. Query the returned IGraphBuilder interface or use EnumFilters to enumerate the filters.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

DVD Applications

Error and Success Codes

IDvdGraphBuilder Interface