DECLARE_IUNKNOWN
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Das DECLARE_IUNKNOWN Makro deklariert die drei Methoden der Basisschnittstelle für eine neue Schnittstelle.
Syntax
#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(); \
};
Bemerkungen
Wenn Sie eine neue Schnittstelle erstellen, muss sie von IUnknown abgeleitet werden, das über drei Methoden verfügt: QueryInterface, AddRef und Release. Dieses Makro vereinfacht den Deklarationsprozess, indem jede dieser Methoden für die neue Schnittstelle deklariert wird.
Dieses Makro funktioniert nur mit Klassen, die direkt oder indirekt von der CUnknown-Klasse abgeleitet sind.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|