ICaptureGraphBuilder::ControlStream 메서드(strmif.h)
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
구문
HRESULT ControlStream(
[in] const GUID *pCategory,
[in] IBaseFilter *pFilter,
[in] REFERENCE_TIME *pstart,
[in] REFERENCE_TIME *pstop,
[in] WORD wStartCookie,
[in] WORD wStopCookie
);
매개 변수
[in] pCategory
출력 핀 범주를 지정하는 GUID 에 대한 포인터입니다. 모든 핀 범주 목록은 Pin 속성 집합 을 참조하세요. 이 값은 NULL일 수 없습니다.
[in] pFilter
제어할 필터의 IBaseFilter 인터페이스에 대한 포인터입니다. NULL을 지정하면 그래프의 모든 캡처 필터가 제어됩니다. 각 캡처 필터에 대해 하나의 알림을 받게 됩니다.
[in] pstart
캡처 시작 시간에 대한 포인터입니다. NULL 은 지금 시작을 의미합니다. MAX_TIME 이전 요청을 취소하거나 이전 요청이 없는 경우 아무 작업도 수행하지 않음을 의미합니다.
[in] pstop
캡처 중지 시간에 대한 포인터입니다. NULL 은 지금 중지를 의미합니다. MAX_TIME 이전 요청을 취소하거나 이전 요청이 없는 경우 아무 작업도 수행하지 않음을 의미합니다.
[in] wStartCookie
시작이 발생할 때 보낼 특정 값을 지정합니다.
[in] wStopCookie
중지가 발생할 때 보낼 특정 값을 지정합니다.
반환 값
캡처 필터에서 보낸 마지막 샘플이 렌더링되기 전에 중지 알림이 전송되면 S_FALSE 반환하고, 그렇지 않으면 S_OK 반환합니다.
이 메서드가 S_FALSE 반환하는 경우 애플리케이션은 모든 샘플이 그래프를 통과하고 렌더링될 수 있도록 필터 그래프를 중지하기 전에 기다려야 할 수 있습니다. 그렇지 않으면 샘플이 손실될 수 있습니다.
제공한 설명과 일치하는 핀이 없거나 표시된 모든 핀에서 스트림 컨트롤을 지원하지 못할 경우 이 함수는 오류 코드를 반환합니다.
설명
프레임 정확 캡처 또는 캡처 및 미리 보기의 개별 제어에 이 메서드를 사용합니다. 예를 들어 캡처된 이미지만 미리 보려면 캡처된 이미지의 쓰기를 디스크에 쓰지 않도록 설정할 수 있습니다.
이 메서드는 핀에서 IAMStreamControl 인터페이스를 사용합니다.
이 메서드는 지정된 범주의 핀이 있는 각 필터에 대해 하나의 알림을 보냅니다.
요구 사항
대상 플랫폼 | Windows |
헤더 | strmif.h(Dshow.h 포함) |