使用GIT注册的接口指针为何不能用?

janehn 2003-02-27 11:04:31
程序结构如下:

DWORD WINAPI ThreadFuncStart( LPVOID pParam );
IGlobalInterfaceTable* g_pGIT ;
DWORD g_dwCookie = 0 ;

DWORD WINAPI ThreadFuncExePkg(LPVOID pParam)
{
HRESULT hr ;
Ijx* pIjx = NULL;
hr = ::CoInitialize(NULL) ;
g_pGIT->GetInterfaceFromGlobal(g_dwCookie,
IID_Ijx,
(void**)&pIjx) ;
hr = pIjx->Hello() ;
::CoUninitialize() ;
return 0;
}

void CTestdllclientDlg::OnButton1()
{
// TODO: Add your control notification handler code here

HRESULT hr ;
Ijx* pIjx = NULL ;
::CoInitialize(NULL) ;
hr = ::CoCreateInstance(CLSID_jx,
NULL,
CLSCTX_INPROC_SERVER,
IID_Ijx,
(void**)&pIjx) ;

hr = CoCreateInstance(CLSID_StdGlobalInterfaceTable,
0,
CLSCTX_INPROC_SERVER,
IID_IGlobalInterfaceTable,
(void**)&g_pGIT) ;

hr = g_pGIT->RegisterInterfaceInGlobal(
(IUnknown*pIjx,
IID_Ijx,
&g_dwCookie) ;

unsigned long nThreadID ;
HANDLE hThread = CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINEThreadFuncExePkg,
0,
0,
&nThreadID);
::CoUninitialize() ;
}
调试的时候,发现线程函数中的pIjx指针为空。
这是什么原因呢?
请大家帮我看看,先谢了。
...全文
45 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧