Pins support the IPin::EnumMediaTypes method, which enumerates a pin's preferred media types. It returns a pointer to the IEnumMediaTypes interface. The IEnumMediaTypes::Next method retrieves pointers to AM_MEDIA_TYPE structures describing media types.
pin 支持 IPin::EnumMediaTypes 方法,用来枚举 pin 的首选媒体类型。这个函数返回 IEnumMediaTpyes 接口指针。 IEnumMediaTypes::Next 方法获得指向 AM_MEDIA_TYPE 结构体的指针。
The media type enumerator exists primarily to help the Filter Graph Manager make intelligent connections, and your applications will probably not use it. A pin does not necessarily return any preferred media types. Moreover, the media types it returns might depend on the filter's connection status. For example, a filter's output pin might return a different set of media types depending on which media type was set for the filter's input pin.
媒体类型枚举器存在的主要目的是帮助 Filter Graph Manager 完成只能连接。应用程序不太可能使用到。 pin 不是必须返回首选媒体类型。而且,它返回的媒体类型依赖于 filter 的连接状态。例如, filter output pin 会根据 input pin 的媒体类型返回不同的媒体类型。