COM function
When I have a COM interface with functions like the following, how to
can
call the put_ConnectionString correctly?
when I do the following I got compile error
BSTR bstr = "aaa";
hr.put_ConnectionString(bstr);
###################################
HRESULT CEPGLibApp::LoadXMLData(LPCTSTR tszXMLFileName)
{
HRESULT hr = S_OK;
CComPtr<ISQLXMLBulkLoad> pIXMLBulkLoad;
hr = CoCreateInstance(CLSID_SQLXMLBulkLoad3, NULL,
CLSCTX_INPROC_SERVER, IID_ISQLXMLBulkLoad, (void **)&pIXMLBulkLoad);
if (SUCCEEDED(hr)) {
BSTR bstr = "aaa";
hr.put_ConnectionString(bstr);
}
if (SUCCEEDED(hr)) {
}
if (SUCCEEDED(hr)) {
}
return hr;
}
######################################
ISQLXMLBulkLoad : public IDispatch
{
public:
virtual /* [helpstring][id][propget] */ HRESULT
STDMETHODCALLTYPE get_ConnectionString(
/* [retval][out] */ BSTR *pbstrConnectionString) = 0;
virtual /* [helpstring][id][propput] */ HRESULT
STDMETHODCALLTYPE put_ConnectionString(
/* [in] */ BSTR bstrConnectionString) = 0;
virtual /* [helpstring][id][propget] */ HRESULT
STDMETHODCALLTYPE get_ConnectionCommand(
/* [retval][out] */ IUnknown **ppICommand) = 0;
virtual /* [helpstring][id][propput] */ HRESULT
STDMETHODCALLTYPE put_ConnectionCommand(
/* [in] */ IUnknown *pICommand) = 0;
################################
typedef /* [wire_marshal] */ OLECHAR *BSTR;
#################################
typedef WCHAR OLECHAR;
################################