CBaseObject类:
This is the base object class that supports active object counting. As
part of the debug facilities we trace every time a C++ object is created
or destroyed. The name of the object has to be passed up through the class
derivation list during construction as you cannot call virtual functions
in the constructor. The downside of all this is that every single object
constructor has to take an object name parameter that describes it
INonDelegatingUnknown接口:
Version of IUnknown that is renamed to allow a class to support both
non delegating and delegating IUnknowns in the same COM object
CUnknow类:
An object that supports one or more COM interfaces will be based on
this class. It supports counting of total objects for DLLCanUnloadNow
support, and an implementation of the core non delegating IUnknown
IPin接口:
This interface is exposed by all input and output pins.
The filter graph manager uses this interface to connect pins and perform flushing operations.
Applications can use this interface to query the pin for information.