다음을 통해 공유


개체가 지원하는 인터페이스 확인

[이 페이지와 연결된 기능인 사용자 지정 파일 및 스트림 처리기는 레거시 기능입니다. MediaStreamSource 클래스로 대체되었습니다. MediaStreamSource 클래스는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 사용자 지정 파일 및 스트림 처리기 대신 MediaStreamSource 클래스를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

QueryInterface 메서드를 사용하면 애플리케이션이 개체를 쿼리하여 지원하는 인터페이스를 확인할 수 있습니다. 샘플 애플리케이션은 ppv 포인터를 현재 인터페이스로 설정합니다.

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