2015-01-19 8 views
0

에서 sourceforge 직접 쇼 라이브러리를 사용하는 데 도움이되는 몇 가지 샘플을 다운로드했습니다. 코드에서 그는 상수 (주소로 사용)를 사용하여 정의했습니다. SetNotifyWindow 왜 우리는 우리가 마침내 정의한 특정 메시지를 참조하십시오.직접 쇼 SetNotifyWindow 함수

상수 (메시지) :

// Application-defined message to notify app of filtergraph events 
public const int WM_GRAPHNOTIFY = 0x8000 + 1; 

미디어 이벤트 속성 :

// provides method to retrieve the events 
IMediaEventEx mediaEventEx; 

SetNotifyWindow 기능 사용이 주소 :

//set the notify window 
     //(NB:hr-->hresult (com device error for more http://msdn.microsoft.com/en-us/library/windows/desktop/dd375623%28v=vs.85%29.aspx) 
     int hr = mediaEventEx.SetNotifyWindow(ptr, WM_GRAPHNOTIFY, IntPtr.Zero); 
+0

'Windows Message Loop'을 읽으십시오. – Chris

+0

죄송합니다 무슨 뜻인지 이해가 안 돼요 – Miral

+0

Google에 더 많은 이유가 있습니다 :)하지만 어쨌든 여러 IMediaEventEx 소스에서 이벤트를 가져오고 싶다면 다른 메시지 번호로 구분할 수있는 기능이 유용 할 것입니다 . 다른 이유는 없습니다. – Chris

답변

0

당신은 알림을 설정합니다. FGM에게 어떤 처리와 함께 뛰어 들기로되어있을 때 어떤 메시지가 다시 보내지는지 알려줍니다. MSDN on IMediaEventEx::SetNotifyWindow에서

는 :

창 메시지를 수신

,이 이벤트를 검색 할 IMediaEvent::GetEvent 메소드를 호출 할 필요가 있습니다. 이벤트는 비동기식이므로 큐에는 여러 이벤트가 있거나 없을 수 있습니다. 오류 코드를 반환 할 때까지 GetEvent를 반복적으로 호출하십시오.

+0

나는 함수가 무슨 일을하는지 이해하지만 FGM이 무엇을 의미하는지 이해하지 못한다 – Miral

+0

당신에게 더 많은 정보를 줄 수있는 곳으로 다시 보내 달라. – Miral

+1

FGM = 필터 그래프 인터페이스, 필터 그래프 인터페이스를 역순으로하는 COM 객체 : IFilterGraph', 'IGraphBuilder','IMediaControl' 등 –