DECLARE_IUNKNOWN
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
DECLARE_IUNKNOWN 宏声明新接口的基接口的三种方法。
语法
#define DECLARE_IUNKNOWN \
STDMETHODIMP QueryInterface(REFIID riid, void **ppv) { \
return GetOwner()->QueryInterface(riid,ppv); \
}; \
STDMETHODIMP_(ULONG) AddRef() { \
return GetOwner()->AddRef(); \
}; \
STDMETHODIMP_(ULONG) Release() { \
return GetOwner()->Release(); \
};
备注
创建新接口时,它必须派生自 IUnknown,它具有三种方法: QueryInterface、 AddRef 和 Release。 此宏通过为新接口声明上述每种方法来简化声明过程。
此宏仅适用于直接或间接从 CUnknown 类派生的类。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|