DirectShow DirectShow 레퍼런스 인터페이스 IMediaEvent GetEvent [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
GetEvent 메서드는, 다음의 이벤트 통지를 이벤트 큐로부터 얻어온다.
구문
HRESULT GetEvent(
long *lEventCode,
long *lParam1,
long *lParam2,
long msTimeout
);
파라미터
lEventCode
[out] 이벤트 코드를 받는 변수의 포인터.
lParam1
[out] 제 1 이벤트 인수를 받는 변수의 포인터.
lParam2
[out] 제 2 이벤트 인수를 받는 변수의 포인터.
msTimeout
[in] 타임 아웃 시간 (밀리 세컨드 단위). 이벤트가 도착할 때까지 동작을 정지하려면 , INFINITE 를 사용한다.
반환값
HRESULT 값을 돌려준다. 가능한 값은 다음의 일람대로이다.
값 | 설명 |
S_OK | 성공. |
E_ABORT | 타임 아웃에 의한 마감 시간. |
주의
큐에 이벤트가 없는 경우, 이 메서드는 이벤트가 도착할 때까지 최대 msTimeout 밀리 세컨드간 대기한다. thread는,GetEvent 로 대기중은 메시지를 처리할 수 없기 때문에, INFINITE 의 타임 아웃 간격은 사용하지 않는 것. Windows 메시지를 처리하는 thread로부터 GetEvent 를 호출하는 경우는, 사용자 입력에의 응답에 지장이 없게, 가능한 한 짧은 대기 시간을 지정하는 것.
GetEvent 를 호출한 다음에,IMediaEvent::FreeEventParams 메서드를 호출해 이벤트 인수에 할당한 모든 리소스를 릴리즈 하는 것.
통지 코드 및 인수값의 일람에 대해서는, 「이벤트 통지 코드」를 참조할것.
이 메서드는, 필터 그래프의 이벤트 큐로부터 이벤트를 삭제하므로, 복수의 클라이언트가 같은 그래프로부터의 이벤트를 감시하는 방법은 없다.
참조