Поделиться через


Диспетчер потоков

Диспетчер потоков является базовым компонентом диспетчера TSF. Диспетчер потоков выполняет общие задачи, связанные как с приложениями, так и с текстовыми службами (клиентами). Эти задачи включают, но не ограничиваются активацией и деактивацией текстовых служб TSF, созданием диспетчеров документов и обслуживанием надлежащей связи между документами и фокусом ввода. Диспетчер потоков определяется интерфейсом ITfThreadMgr.

Большинство интерфейсов и объектов, предоставляемых диспетчером TSF, можно получить с помощью методов, предоставляемых интерфейсом диспетчера потоков.

Приложений

Приложение создает объект диспетчера потоков путем вызова CoCreateInstance с CLSID_TFThreadMgr.

Текстовые службы

Текстовая служба получает объект диспетчера потоков в текстовой службе методе ITfTextInputProcessor::Activate.

Уведомления о событиях

Диспетчер потоков также предоставляет клиентам уведомления о событиях. В TSF уведомления о событиях предоставляются с помощью приемника событий, который является COM-объектом. Чтобы получать уведомления от диспетчера потоков, клиент реализует объект ITfThreadMgrEventSink и устанавливает приемник событий. Приемник событий устанавливается путем запроса диспетчера потоков для IID_ITfSource и вызова ITfSource::AdviseSink с IID_ITfThreadMgrEventSink.

ITfThreadMgr

CoCreateInstance

ITfTextInputProcessor::Activate

ITfThreadMgrEventSink

ITfSource::AdviseSink