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


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

Диспетчер потоков является базовым компонентом диспетчера 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