Registrieren für austauschbare Terminalereignisse
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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für