Compartir a través de


Determinar qué interfaz admite un objeto

[La característica asociada a esta página, Controladores personalizados de archivos y secuencias, es una característica heredada. Se ha reemplazado por la clase MediaStreamSource. La clase MediaStreamSource se ha optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use la clase MediaStreamSource en lugar de los controladores de secuencias y archivos personalizados, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El método QueryInterface permite a una aplicación consultar un objeto para determinar qué interfaces admite. La aplicación de ejemplo establece el puntero ppv en la interfaz actual.

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