注册可插入终端事件
当流选择终端时,将发生事件注册过程。 在 终端应用程序的 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.
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈