Не удается получить ITfThreadMgrEx в моей системе XP Professional

Я столкнулся с проблемой с моей XP Professional System при работе с Text Services Framework. Я хочу получить интерфейс ITfThreadMgrEx от ITfThreadMgr. Согласно Microsoft, ITfThreadMgr.QueryInterface() используется для получения ITfThreadMgrEx. Когда я попробовал это в C++, я вернулся E_NOINTERFACE. Согласно Microsoft, ITfThreadMgrEx доступен в Windows 2000 TSF 1.0. Поэтому я просто предположил, что он будет доступен на XP Professional.

Кроме того, я пробовал эту программу на Windows 7, никаких проблем. Тем не менее, в двух разных версиях Windows XP Professional SP3 с установленной поддержкой дальнего востока на разных языках одна и та же проблема в обеих системах.

Достаточно ли кто-нибудь знаком с TSF, чтобы понять, почему я не могу получить интерфейс в соответствии с документацией Microsoft? Любые идеи о том, что я могу попробовать?

HRESULT hr = ::CoInitialize(NULL);
ITfThreadMgr * p = NULL;
ITfThreadMgrEx * pe = NULL;
hr = ::CoCreateInstance(CLSID_TF_ThreadMgr, NULL, CLSCTX_INPROC, IID_ITfThreadMgr, (void**)&p);
hr = p->QueryInterface(IID_ITfThreadMgrEx, (void**)&pe);

ОБНОВЛЕНИЕ: я могу получить интерфейс ITfThreadMgr, как только я установлю языки Дальнего Востока и добавлю китайский (PRC) в языковую панель ("Язык и региональные стандарты" на панели управления). Я могу получить этот интерфейс, используя CoCreateInstance(), а также TF_CreateThreadMgr().

Но по какой-то причине интерфейсы, которые QI'd из ITfThreadMgr, которые непосредственно связаны с настройкой компонентов пользовательского интерфейса TIP, недоступны. Я могу получить другие интерфейсы от ITfThreadMgr.QueryInterface, такие как ITfClientId и ITfMessagePump, но я не могу получить ни ITfUIElementMgr, ни ITfThreadMgrEx.

Это похоже на то, что функция пользовательского рисования TIP UI просто не установлена ​​или не включена. Но я не уверен, что это правильное направление.

1 ответ

ITfThreadMgrEx и ITfUIElementMgr доступны только в Vista и выше. Документация MSDN здесь просто неверна.

Другие вопросы по тегам