DirectShow 보유 사용이 금지되고 있는 인터페이스 ICaptureGraphBuilder SetOutputFileName [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
주 : ICaptureGraphBuilder 인터페이스의 사용은 피하는 것. 대신에,ICaptureGraphBuilder2 를 사용하는 것.
지정된 파일명으로 비트를 디스크에 보존하는 필터 그래프의 렌더링 섹션을 생성 한다.
구문
HRESULT SetOutputFileName(
const GUID *pType,
LPCOLESTR lpwstrFile,
IBaseFilter **ppf,
IFileSinkFilter **pSink
);
파라미터
pType
[in] 미디어 서브 타입을 나타내는 GUID 의 포인터. &MEDIASUBTYPE_Avi 가 아니면 안된다.
lpwstrFile
[in] 출력 파일명이 저장 되고 있는 와이드 캐릭터 캐릭터 라인의 포인터.
ppf
[out] 멀티플렉서 필터에 상당하는 IBaseFilter 인터페이스의 포인터 주소. 이 메서드는 IBaseFilter 인터페이스의 참조 카운트를 인크리먼트(increment) 하기 위한(해), 필터를 사용한 후는, 이 인수에 대해서 Release 메서드를 사용하는 것에 의해, 참조 카운트를 감소 할 필요가 있다.
pSink
[out] 필터 라이터에 상당하는 IFileSinkFilter 인터페이스의 포인터 주소. 이 메서드는 IFileSinkFilter 인터페이스의 참조 카운트를 인크리먼트(increment) 하기 위한(해), 필터를 사용한 후는, 이 인수에 대해서 Release 메서드를 사용하는 것에 의해, 참조 카운트를 감소 할 필요가 있다.
반환값
HRESULT 값을 돌려준다. 다음의 몇개의 값을 돌려준다.
값 | 설명 |
E_FAIL | 실패. |
E_INVALIDARG | 무효인 인수. 지원 되고 있는 출력 포맷은 AVI (Audio-Video Interleaved) 뿐인다. |
E_OUTOFMEMORY | 메모리 부족. |
E_POINTER | NULL 포인터 인수. |
E_UNEXPECTED | 예기치 않은 에러가 발생했다. |
NOERROR | 성공. |
S_OK | AVI 멀티플렉서 필터의 인스턴스가 올바르고 생성 되었다. |
주의
이 메서드는, 멀티플렉서와 파일 라이터를 필터 그래프에 삽입해,IFileSinkFilter::SetFileName 를 호출해 출력 파일명을 설정한다.
이 메서드로부터 돌려받는 ppf 인수를 RenderStream 의 호출로 pfRenderer 인수로서 사용할 수 있다.
이 메서드의 pSink 인수를 SetFileName 의 호출로 사용해,ICaptureGraphBuilder::SetOutputFileName 에 의해 설정된 파일명을 변경할 수 있다.
참조