CBaseRenderer.GetMediaPositionInterface method

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The GetMediaPositionInterface method retrieves the filter's IMediaPosition and IMediaSeeking interface pointers.

Syntax

virtual HRESULT GetMediaPositionInterface(
   REFIID riid,
   void   **ppv
);

Parameters

riid

Reference identifier of the interface.

ppv

Address of a variable that receives the interface pointer.

Return value

Returns an HRESULT value. Possible values include those shown in the following table.

Return code Description
S_OK
Success.
E_OUTOFMEMORY
Insufficient memory.
E_NOINTERFACE
Interface not supported.

Remarks

The filter delegates all seeking commands to a CRendererPosPassThru object, which passes them upstream. This method creates the CRendererPosPassThru object, if it does not yet exist, and queries it for the requested interface.

The CBaseRenderer::m_pPosition member variable stores a pointer to the CRendererPosPassThru object.

Requirements

Requirement Value
Header
Renbase.h (include Streams.h)
Library
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

See also

CBaseRenderer Class