개체가 지원하는 인터페이스 확인
[이 페이지와 연결된 기능인 사용자 지정 파일 및 스트림 처리기는 레거시 기능입니다. 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;
}