Determinazione dell'interfaccia supportata da un oggetto
[La funzionalità associata a questa pagina, Custom File and Stream Handlers, è una funzionalità legacy. È stata sostituita dalla classe MediaStreamSource. La classe MediaStreamSource è stata ottimizzata per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi la classe MediaStreamSource anziché i gestori di file e di flusso personalizzati, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il metodo QueryInterface consente a un'applicazione di eseguire una query su un oggetto per determinare le interfacce supportate. L'applicazione di esempio imposta il puntatore ppv sull'interfaccia corrente.
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;
}