다음을 통해 공유


플러그형 터미널 이벤트 등록

이벤트 등록 프로세스는 스트림에서 터미널을 선택할 때 발생합니다. 터미널 애플리케이션의 SelectTerminal 메서드 구현에서 스트림에 연결된 터미널의 ITTerminal 인터페이스를 사용하고 QueryInterface 를 호출하여 ITPluggableTerminalEventSinkRegistration을 찾을 수 있습니다.

HRESULT hr = E_FAIL;
ITPluggableTerminalEventSinkRegistration* pEventRegistration = NULL;
hr = pTerminal->QueryInterface( 
    IID_ITPluggableTerminalEventSinkRegistration,
    (void**)& pEventRegistration
);

QueryInterface 호출이 성공하면 RegisterSink 메서드를 호출할 수 있습니다. 이를 위해 ITPluggableTerminalEventSink 인터페이스를 구현하는 개체를 만들어야 합니다. RegisterSink 메서드의 매개 변수로 이 인터페이스를 전달합니다.

ITPluggableTerminalEventSink*    pEventSink;

HRESULT hr = CreateEventSink( &pEventSink);
// If (hr != S_OK) process the error here. 

hr = pEventRegistration->RegisterSink( pEventSink );
// If (hr != S_OK) process the error here. 

ITPluggableTerminalEventSinkRegistration 호출을 구현하는 터미널은 인터페이스를 저장합니다. 포인터는 터미널이 이벤트를 발생시킬 때 사용됩니다.

UnregisterSink를 사용하여 이벤트 싱크를 등록 취소할 수 있습니다.

hr = pEventRegistration->UnregisterSink();
// If (hr != S_OK) process the error here.