Freigeben über


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; 
}