次の方法で共有


プラグ可能なターミナル イベントの登録

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