ITfFnReconversion :: QueryRange выводит NULL с «Microsoft IME (японский)»

Ссылка на статью Получить список кандидатов от TSF(извините, это написано на японском языке), я разработал компонент C ++ Приложение для Магазина Windows.
Но когда я тестирую Компонент, возникает любопытное явление: если я превращу Метод ввода в «Microsoft IME», код

hr = m_reconversion_cp->QueryRange(selections[0].range, &range_cp, &is_converted);

всегда возвращает NULL в выходном параметре «range_cp», но если я включу метод ввода в «Google 日本語 入 力», то range_cp вернет правильный результат, и я смогу получить список кандидатов с помощью ITfFnReconversion :: GetReconversion.
Кто-нибудь сталкивался с такой же проблемой? Или я пропустил некоторые настройки Microsoft IME?

Существует часть кода этой проблемы:

ReconvTextStore m_text_store_cp;
ITfContext m_context_cp;
ITfFnReconversion m_reconversion_cp

if (m_text_store_cp->LockDocument(TS_LF_READ))
{
hr = m_context_cp->GetSelection(
m_edit_cookie,
TF_DEFAULT_SELECTION,
numberof(selections),
selections,
&fetched_count
);

m_text_store_cp->UnlockDocument();

if (FAILED(hr))
{
break;
}
}

// ↓↓↓ When the Microsoft IME, range_cp returns NULL ↓↓↓
hr = m_reconversion_cp->QueryRange(selections[0].range, &range_cp, &is_converted);
if (FAILED(hr) || range_cp == NULL)
{
break;
}

hr = m_reconversion_cp->GetReconversion(selections[0].range, &cand_list_cp);
if (FAILED(hr) || cand_list_cp == NULL)
{
break;
}

Я действительно ценю любую помощь, которую вы можете оказать.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]