Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Ereignisregistrierungsprozess findet statt, wenn das Terminal von einem Stream ausgewählt wird. In der Implementierung der SelectTerminal-Methode der Terminalanwendung können wir die ITTerminal-Schnittstelle des Terminals verwenden, das an den Stream angefügt wurde, und QueryInterface aufrufen, um ITPluggableTerminalEventSinkRegistration zu suchen.
HRESULT hr = E_FAIL;
ITPluggableTerminalEventSinkRegistration* pEventRegistration = NULL;
hr = pTerminal->QueryInterface(
IID_ITPluggableTerminalEventSinkRegistration,
(void**)& pEventRegistration
);
Wenn der QueryInterface-Aufruf erfolgreich ist, können wir die RegisterSink-Methode aufrufen. Zu diesem Zweck sollten wir ein -Objekt erstellen, das die ITPluggableTerminalEventSink-Schnittstelle implementiert. Wir übergeben diese Schnittstelle als Parameter der RegisterSink-Methode .
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.
Das Terminal, das den AUFRUF ITPluggableTerminalEventSinkRegistration implementiert, speichert die Schnittstelle. Der Zeiger wird verwendet, wenn das Terminal ein Ereignis auslöst.
Die Ereignissenke kann mit UnregisterSink nicht registriert werden.
hr = pEventRegistration->UnregisterSink();
// If (hr != S_OK) process the error here.