CBaseMediaFilter.CBaseMediaFilter constructor

[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.]

Constructor method.

Syntax

CBaseMediaFilter(
   const TCHAR     *pName,
         LPUNKNOWN pUnk,
         CCritSec  *pLock,
         REFCLSID  clsid
);

Parameters

pName

Pointer to a string containing the name of the object.

pUnk

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.

pLock

Pointer to a CCritSec lock, used to serialize state changes.

clsid

Class identifier of the object.

Remarks

If another object contains or aggregates the CBaseMediaFilter object, the CCritSec lock might be external to the CBaseMediaFilter object. In that case, pass a pointer to the lock in pLock.

Otherwise, you can:

  • Derive a class that inherits both CBaseMediaFilter and CCritSec. For pLock, pass the this pointer.
  • Derive a class that inherits CBaseMediaFilter and contains a CCritSec member variable. For pLock, pass the address of that variable.

Requirements

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

See also

CBaseMediaFilter Class