Bestimmen, welche Schnittstelle ein Objekt unterstützt
[Das feature, das dieser Seite zugeordnet ist, Benutzerdefinierte Datei- und Streamhandler, ist ein Legacyfeature. Sie wurde von der MediaStreamSource-Klasse abgelöst. Die MediaStreamSource-Klasse wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit die MediaStreamSource-Klasse anstelle von benutzerdefinierten Datei- und Streamhandlern verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Mit der QueryInterface-Methode kann eine Anwendung ein Objekt abfragen, um zu bestimmen, welche Schnittstellen sie unterstützt. Die Beispielanwendung legt den ppv-Zeiger auf die aktuelle Schnittstelle fest.
STDMETHODIMP CAVIFileCF::QueryInterface(
const IID FAR& iid,
void FAR* FAR* ppv)
{
if (iid == IID_IUnknown)
*ppv = this; // set the interface pointer
// to this instance
else if (iid == IID_IClassFactory)
*ppv = this; // second chance to set the
// interface pointer to this
// instance
else
return ResultFromScode(E_NOINTERFACE);
AddRef(); //Increment the reference count
return NULL;
}