DECLARE_IUNKNOWN
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 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 類別衍生或間接衍生的類別。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|