次の方法で共有


モジュール式ターミナルイベントの登録方法

イベント登録プロセスは、ターミナルがストリームによって選択されたときに行われます。 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.