다음을 통해 공유


IGraphConfig::Reconfigure 메서드(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

메서드는 Reconfigure 필터 그래프를 잠그고 애플리케이션 또는 필터에서 콜백 함수를 호출하여 동적 재구성을 수행합니다.

구문

HRESULT Reconfigure(
  [in] IGraphConfigCallback *pCallback,
  [in] PVOID                pvContext,
  [in] DWORD                dwFlags,
  [in] HANDLE               hAbortEvent
);

매개 변수

[in] pCallback

애플리케이션 또는 필터의 IGraphConfigCallback 콜백 인터페이스에 대한 포인터입니다.

[in] pvContext

콜백 루틴에 전달되는 PVOID 형식의 변수에 대한 포인터입니다.

[in] dwFlags

콜백 루틴에 전달되는 애플리케이션 정의 플래그입니다.

[in] hAbortEvent

이벤트에 대한 핸들. 호출자가 데이터 처리 스레드 중 하나에서 호출하는 필터인 경우 이 매개 변수는 필터가 중지된 상태로 전환될 때 신호를 받을 이벤트에 대한 핸들이어야 합니다. 그렇지 않으면 이 매개 변수는 NULL일 수 있습니다. 자세한 내용은 설명 부분을 참조하세요.

반환 값

성공하면 S_OK 반환하고, 그렇지 않으면 오류 코드를 반환합니다. 가능한 오류에는 VFW_E_WRONG_STATE 포함됩니다. 메서드가 필터 그래프에 대한 잠금을 가져올 수 없는 경우 입니다. 콜백 루틴에 의해 반환된 HRESULT 가 무엇이든, 또는 그래프가 필터를 실행 중 상태로 전환할 수 없음을 나타내는 오류 코드입니다.

설명

이 메서드는 애플리케이션 또는 필터가 특수 동적 그래프 빌드를 구현할 수 있도록 제공됩니다. 그러나 대부분의 경우 IGraphConfig::Reconnect 메서드는 적절하며 대부분의 구현 세부 정보를 처리하므로 선호되어야 합니다.

이 메서드를 호출하기 전에 필요에 따라 스트림을 차단하고 그래프를 통해 데이터를 푸시합니다( IPinFlowControl::BlockIGraphConfig::P ushThroughData 참조). 콜백 메서드가 IGraphConfig::Reconfigure 성공하면 모든 필터를 실행 중 상태로 전환하려고 시도합니다. 호출자는 데이터 흐름의 차단을 해제해야 합니다. 그렇지 않으면 콜백 메서드가 반환한 오류 코드를 반환합니다.

필터가 자체 데이터 처리 스레드 중 하나에서 이 메서드를 호출하면 교착 상태가 발생할 가능성이 있습니다. 메서드는 필터 그래프에 대한 잠금을 가져옵니다. 이 잠금은 필터가 IMediaFilter::Stop에 대한 호출 수신을 중지하지 못하도록 차단할 수 있습니다. 이 상황을 방지하기 위해 메서드는 필터에서 제공하는 이벤트 개체에 대한 핸들을 사용합니다. 필터는 Stop 메서드에 대한 호출을 수신하는 경우 이벤트에 신호를 보내야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 strmif.h(Dshow.h 포함)
라이브러리 Strmiids.lib

추가 정보

오류 및 성공 코드

IGraphConfig 인터페이스