다음을 통해 공유


CMsgThread.WaitForThreadExit 메서드

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

스레드가 종료될 때까지 차단합니다.

구문

BOOL WaitForThreadExit(
   LPDWORD lpdwExitCode
);

매개 변수

lpdwExitCode

스레드에서 반환된 종료 코드에 대한 포인터입니다.

반환 값

재정의된 CMsgThread::ThreadMessageProc 멤버 함수 및 호출 멤버 함수를 제공하는 클래스에 의해 결정되는 TRUE 또는 FALSE를 반환합니다.

설명

파생 클래스의 소멸을 완료하기 전에 작업자 스레드가 완전히 종료되었는지 확인합니다. 그렇지 않으면 DLL(동적 연결 라이브러리)이 프로세스의 주소 공간에서 언로드된 후에도 스레드가 계속 실행될 수 있습니다. 종료할 유일한 명령이 단일 반환 명령인 경우에도 예외가 발생합니다. 스레드가 종료되었는지 확인하는 유일한 신뢰할 수 있는 방법은 스레드가 종료되도록 신호를 보낸 다음(CMsgThread::P utThreadMsg 멤버 함수로 전송된 비공개로 협상된 CMsg 개체를 사용하여) 이 멤버 함수를 호출하는 것입니다. 파생 클래스의 소멸자에서 이 작업을 수행해야 합니다.

요구 사항

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

추가 정보

CMsgThread 클래스