CreatePosPassThru function

[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 CreatePosPassThru function creates a CPosPassThru object or CRendererPosPassThru object.

Syntax

STDAPI CreatePosPassThru(
   LPUNKNOWN pAgg,
   BOOL      bRenderer,
   IPin      *pPin,
   IUnknown  **ppPassThru
);

Parameters

pAgg

Pointer to the owner of this object. If the object is aggregated, pass a pointer to the aggregating object's IUnknown interface. Otherwise, set this parameter to NULL.

bRenderer

Boolean value that specifies whether the filter is a renderer. Use the value TRUE if the filter is a renderer, or FALSE otherwise. If the value is TRUE, this method creates an instance of the CRendererPosPassThru class. If the value is FALSE, the method creates an instance of the CPosPassThru class.

pPin

Pointer to the IPin interface on the filter's input pin.

ppPassThru

Address of a variable that receives a pointer to the object's IUnknown interface.

Return value

Returns S_OK if successful. Otherwise, returns an HRESULT value indicating the cause of the error.

Remarks

This method uses the ISeekingPassThru interface to create the object. The object is loaded dynamically from Quartz.dll.

If the function succeeds, the returned IUnknown interface has an outstanding reference count. The caller must release the interface.

Requirements

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

See also

CPosPassThru Class