CUnknown 类
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
CUnknown 类实现 IUnknown 接口。 DirectShow 中的大多数组件对象模型 (COM) 对象派生自 CUnknown。
如果实现 COM 对象,可能需要从 CUnknown 派生它。 从 CUnknown 派生提供了线程安全的实现,并避免了实现 IUnknown 的麻烦。
有关如何使用此基类的详细讨论,请参阅 如何实现 IUnknown。 下面是一个简短摘要:
- 在类定义的公共节中包含 DECLARE_IUNKNOWN 宏。 此宏声明 IUnknown 接口的三种方法。
- 重写 NonDelegatingQueryInterface 方法以支持 IUnknown 以外的接口。 在此方法中,调用 GetInterface 函数以检索接口指针。
- 在类构造函数中,调用 CUnknown 构造函数方法。
受保护的成员变量 | 说明 |
---|---|
m_cRef | 引用计数。 |
公共方法 | 说明 |
CUnknown | 构造函数方法。 |
~ CUnknown | 析构函数方法。 虚拟。 |
GetOwner | 获取指向控制 IUnknown 的指针。 |
INonDelegatingUnknown 方法 | 说明 |
NonDelegatingAddRef | 递增引用计数。 |
NonDelegatingQueryInterface | 检索接口指针并递增引用计数。 |
NonDelegatingRelease | 递减引用计数。 |
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|