ISession接口加了一个Name属性,但是在客户程序中先设置属性后,再取这个属性时一直都是乱码,(BSTR m_Name是CSession的一个成员),初学COM,望赐教。STDMETHODIMP CSession::get_Name(BSTR *pVal)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()) *pVal = m_Name; return S_OK;
}STDMETHODIMP CSession::put_Name(BSTR newVal)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()) m_Name = newVal; return S_OK;
}
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()) *pVal = m_Name; return S_OK;
}STDMETHODIMP CSession::put_Name(BSTR newVal)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()) m_Name = newVal; return S_OK;
}
ISession *iSn = NULL;
hr = CoInitialize(0);
hr = CoCreateInstance(CLSID_Session,NULL,CLSCTX_INPROC_SERVER,IID_ISession,(void**)&iSn);
if(SUCCEEDED(hr))
{
BSTR A;
A = CComBSTR("OK");
hr = iSn->put_Name(A);
hr = iSn->get_Name(&A);
char * AA;
_bstr_t B = A;
AA = B;
AfxMessageBox(AA);
}
CoUninitialize();