列集散集代码
/*
套间线程
*/
LONG PostFileThreadFunction(LPVOID pParam)
{
HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if ( FAILED(hr) )
{
AfxMessageBox("初始化COM失败");
return 0;
}
IStream *pStream = (IStream*)pParam;
IMarshalMsg* pTest;
if(FAILED(::CoGetInterfaceAndReleaseStream(pStream,IID_IMarshalMsg,(void**)&pTest)))//散集指针
{
AfxMessageBox("散集指针失败");
return 0;
}
pTest->InvokeJs();
CoUninitialize();//
return 0;
}
STDMETHODIMP CMarshalMsg::ShowMsg()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
DWORD dwID;
IMarshalMsg* p;//指针
IStream* pStream;
CoMarshalInterThreadInterfaceInStream(IID_IMarshalMsg,this,&pStream);//列集指针
CreateThread(NULL,NULL,
(LPTHREAD_START_ROUTINE)PostFileThreadFunction,
(LPVOID)pStream,
NULL,
&dwID);
return S_OK;
}相关参考:
http://thesource.ofallevil.com/taiwan/msdn/document/document_05-4.htm


浙公网安备 33010602011771号