代码如下:ITfUIElementMgr *puiem;
ITfUIElement *pElement = NULL;
ITfThreadMgrEx* m_tm; HRESULT hr;
hr = CoCreateInstance(CLSID_TF_ThreadMgr , NULL, CLSCTX_INPROC_SERVER, __uuidof(ITfThreadMgrEx), (void**)&m_tm);
if (hr != S_OK)
{
return FALSE;
} if (SUCCEEDED(m_tm->QueryInterface(__uuidof(ITfUIElementMgr), (void **)&puiem)))
{
puiem->GetUIElement(0, &pElement);
puiem->Release();
}ITfCandidateListUIElement *pcandidate = NULL; if(FAILED(pElement->QueryInterface(__uuidof(ITfCandidateListUIElement),(void **)&pcandidate)))
{
return 0;
}
运行到pElement->QueryInterface(__uuidof(ITfCandidateListUIElement),(void **)&pcandidate)就会报“0x777b15de 处有未经处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突”的错误。要是接口没有初始化成功也应该直接return 0 但是直接是访问冲突,不知道哪里的问题。
ITfUIElement *pElement = NULL;
ITfThreadMgrEx* m_tm; HRESULT hr;
hr = CoCreateInstance(CLSID_TF_ThreadMgr , NULL, CLSCTX_INPROC_SERVER, __uuidof(ITfThreadMgrEx), (void**)&m_tm);
if (hr != S_OK)
{
return FALSE;
} if (SUCCEEDED(m_tm->QueryInterface(__uuidof(ITfUIElementMgr), (void **)&puiem)))
{
puiem->GetUIElement(0, &pElement);
puiem->Release();
}ITfCandidateListUIElement *pcandidate = NULL; if(FAILED(pElement->QueryInterface(__uuidof(ITfCandidateListUIElement),(void **)&pcandidate)))
{
return 0;
}
运行到pElement->QueryInterface(__uuidof(ITfCandidateListUIElement),(void **)&pcandidate)就会报“0x777b15de 处有未经处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突”的错误。要是接口没有初始化成功也应该直接return 0 但是直接是访问冲突,不知道哪里的问题。
解决方案 »
- C++标准string插入Oracle的varchar2字段需要转换吗?
- ODBC 中 select 1 into v_variable from dual; v_variable怎么声明
- 有没有人做过voip开发?
- 装VC++时遇到的问题,大家帮忙看看
- 请问大虾怎样初始化属性页上的控件阿?见内文,多谢!
- 在郑州工作的程序员请进!
- wise for windows install, wise installmaster, Wise Installation System.有什么区别?
- 请教有关文件保存的问题(急!菜鸟呼唤帮助)
- 请高手帮忙....在线等,马上结
- 为什么软件区里的软件都不能下载了?
- View类指针获取。。
- 请教大家全局快捷键如何绑定按钮?
SUCCEEDED(m_tm->QueryInterface(__uuidof(ITfUIElementMgr), (void **)&puiem)
就没有成功