DirectShow DirectShow 레퍼런스 인터페이스 IGraphBuilder RenderFile   [목차열람] [주소복사] [슬롯비우기]
IGraphBuilder::RenderFile
 
Microsoft DirectX 9.0

IGraphBuilder::RenderFile

RenderFile 메서드는, 지정된 파일을 렌더링 하는 필터 그래프를 생성 한다.

구문

HRESULT RenderFile(
  LPCWSTR lpwstrFile,
  LPCWSTR lpwstrPlayList
);

파라미터

lpwstrFile

[in] 미디어 파일의 이름을 포함한 와이드 캐릭터 라인을 지정한다.

lpwstrPlayList

[in] 예약이 끝난 상태. NULL 이어야 한다.

반환값

HRESULT 를 돌려준다. 가능한 값은 다음과 같다.

설명
S_OK 성공.
VFW_S_AUDIO_NOT_RENDERED 불완전한 성공. 오디오가 렌더링 되지 않았다.
VFW_S_DUPLICATE_NAME 성공. 필터 그래프 매니저가 필터명이 중복 하지 않게 필터명을 변경했다.
VFW_S_PARTIAL_RENDER 이 무비에 지원 되지 않는 포맷의 스트림이 포함되어 있다.
VFW_S_VIDEO_NOT_RENDERED 불완전한 성공. 이 무비에 지원 되지 않는 포맷의 스트림이 포함되어 있다.
E_ABORT 조작이 중지되었다.
E_FAIL 실패.
E_INVALIDARG 인수가 무효.
E_OUTOFMEMORY 메모리 부족.
E_POINTER NULL 포인터 인수.
VFW_E_CANNOT_CONNECT 접속을 확립하는 중간 필터의 편성이 발견되지 않았다.
VFW_E_CANNOT_LOAD_SOURCE_FILTER 이 파일의 소스 필터를 로드할 수 없었다.
VFW_E_CANNOT_RENDER 스트림을 렌더링 하는 필터의 편성이 발견되지 않았다.
VFW_E_INVALID_FILE_FORMAT 파일 포맷이 무효이다.
VFW_E_NOT_FOUND 개체 또는 이름이 발견되지 않았다.
VFW_E_UNKNOWN_FILE_TYPE 이 파일의 미디어 타입이 인식되지 않는다.
VFW_E_UNSUPPORTED_STREAM 파일을 재생할 수 없다. 포맷이 지원하지 않는다.

주의

lpwstrFile 인수가 미디어 파일을 지정했을 경우, 이 메서드는 디폴트의 재생용의 필터 그래프를 생성 한다. 최초로,IGraphBuilder::AddSourceFilter 메서드와 같은 처리를 사용해, 파일을 읽어낼 수가 있는 소스 필터를 추가한다. 다음에, 필요에 따라서 중간 필터를 추가해, 그 소스 필터의 출력 핀을 렌더링 한다. 필터는 IGraphBuilder::Connect 메서드의 경우와 같은 순서로 시험 받는다.

접속 처리에서는, 중간 필터의 핀명이 ~ (tilde)로 시작되는 경우, 필터 그래프 매니저는 그 필터의 핀을 무시한다. 더 자세한 정보는, 「PIN_INFO 」를 참조할것.

RenderFile 메서드는, 그래프로부터 필터를 삭제하지 않는 점에 주의 해야 한다. RenderFile 를 2 회 호출하면, 2 번째의 호출에서는 단순하게 추가의 필터가 그래프에 추가된다. 그래프를 실행 하면, 양쪽 모두의 소스가 동시에 재생된다.

샘플 코드

이하의 예에서는, 디폴트 재생용의 AVI 파일을 렌더링 한다.

hr = pGraph->RenderFile(L"C:\\Media\\Example.avi", 0);

이하의 예에서는,파일 소스 (URL) 필터를 사용해, HTTP 를 경유해 AVI 를 다운로드한다.

hr = pGraph->RenderFile(L"http://example.microsoft.com/Example.avi", 0);

참조

↑TOP