다음을 통해 공유


CMsgThread.ThreadMessageProc 메서드

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

요청을 처리합니다. 순수 가상 멤버 함수입니다.

구문

virtual LRESULT ThreadMessageProc(
   UINT     uMsg,
   DWORD    dwFlags,
   LPVOID   lpParam,
   CAMEvent *pEvent
);

매개 변수

uMsg

요청 코드입니다.

dwFlags

요청할 선택적 플래그 매개 변수입니다.

lpParam

추가 데이터 또는 반환 데이터 블록에 대한 선택적 포인터입니다.

pEvent

이벤트 개체에 대한 선택적 포인터입니다.

반환 값

0이 아닌 반환은 스레드가 종료되도록 합니다. 최근에 종료 요청이 처리되지 않는 한 0을 반환합니다.

설명

이 순수 가상 함수는 파생 클래스에서 재정의되어야 합니다. CMsgThread::P utThreadMsg 멤버 함수를 호출하여 큐에 대기하는 각 요청에 대해 한 번 호출됩니다.

멤버 함수는 네 개의 매개 변수를 정의합니다. 일반적으로 uMsg 매개 변수를 사용하여 요청을 나타내고 다른 세 개의 매개 변수는 선택적 추가 매개 변수가 됩니다. 호출하는 애플리케이션은 애플리케이션에 필요한 경우 pEvent 매개 변수의 CAMEvent 개체에 대한 포인터를 제공할 수 있습니다. 다음과 같은 식을 사용하여 이벤트를 처리한 후 이 이벤트를 설정해야 합니다.

pEvent->SetEvent

작업자 스레드가 종료되도록 하려면 하나의 요청 코드를 따로 설정해야 합니다. 이 요청을 받으면 이 멤버 함수에서 1을 반환합니다. 작업자 스레드를 종료하지 않으려면 0을 반환합니다.

요구 사항

요구 사항
헤더
Msgthrd.h(Streams.h 포함)
라이브러리
Strmbase.lib(소매 빌드);
Strmbasd.lib(디버그 빌드)

추가 정보

CMsgThread 클래스