派生自 CBasePin
[与本页关联的功能 DirectShow 是一项旧版功能。 它已被 MediaPlayer、IMFMediaEngine 和媒体基础中的音频/视频捕获所取代。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、IMFMediaEngine 和媒体基础中的音频/视频捕获,而不是 DirectShow。 如果可能,Microsoft 建议应重写使用旧 API 的现有代码,以尽可能地使用新的 API。]
要使用 CBasePin 实现 pin,必须从基类派生一个新类并重写其多个方法。 必须重写下列方法:
可能需要重写以下其他方法:
- CBasePin::Active
- CBasePin::BreakConnect
- CBasePin::CheckConnect
- CBasePin::CompleteConnect
- CBasePin::EndOfStream
- CBasePin::Inactive
- CBasePin::Notify
- CBasePin::Run
最后,必须实现 IPin::BeginFlush 和 IPin::EndFlush 方法。
其中一些方法在派生自 CBasePin 的基类中实现,例如 CBaseInputPin 和 CBaseOutputPin。
相关主题