DECLARE_IUNKNOWN
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
A macro DECLARE_IUNKNOWN declara os três métodos da interface base para uma nova interface.
Sintaxe
#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(); \
};
Comentários
Quando você cria uma nova interface, ela deve derivar de IUnknown, que tem três métodos: QueryInterface, AddRef e Release. Essa macro simplifica o processo de declaração declarando cada um desses métodos para a nova interface.
Essa macro funciona apenas com classes que derivam, direta ou indiretamente, da classe CUnknown .
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|