[求助]这个建立连接字符串的函数怎么出这么多错误啊???
请高手看一下下面这代码,是用来调出建立连接字符串对话框的函数,为什么我用来编译时却出现几十个错误BOOL CMastMeter::GetConnectString(TCHAR *lpszConnectString,HWND hWndParent)
{
CComPtr<IDBPromptInitialize> pIDBPromptInitialize=NULL;
CComPtr<IDBProperties > pIDBProperties = NULL;
CComPtr<IDataInitialize> spDataInit=NULL;
CComBSTR bstrConnectString;
HRESULT hr;
// Create an instance of the Data Links component.
hr=CoCreateInstance(CLSID_DataLinks, NULL, CLSCTX_INPROC_SERVER,
IID_IDBPromptInitialize, (void **)&pIDBPromptInitialize);
if (FAILED(hr))
return FALSE;
// Prompt the user for the provider and initialization properties.
hr=pIDBPromptInitialize->PromptDataSource(NULL, hWndParent,
DBPROMPTOPTIONS_PROPERTYSHEET, 0, NULL, NULL, IID_IDBProperties,
(IUnknown **)&pIDBProperties);
if (FAILED(hr))
return FALSE;
hr = CoCreateInstance(CLSID_MSDAINITIALIZE, NULL, CLSCTX_INPROC_SERVER,
IID_IDataInitialize, (void**)&spDataInit);
if (FAILED(hr))
return FALSE;
hr=spDataInit->GetInitializationString(pIDBProperties,true,&bstrConnectString);
if (FAILED(hr))
return FALSE;
lstrcpy(lpszConnectString,(char*)_bstr_t(bstrConnectString));
return TRUE;
}
出现的错误如下:
error C3861: “PromptDataSource”: 即使使用参数相关的查找,也未找到标识符
error C2065: “IDBPromptInitialize” : 未声明的标识符
error C2955: “ATL::CComPtr” : 使用类模板需要模板参数列表
f:\vs\Vc7\atlmfc\include\atlcomcli.h(304) : 参见“ATL::CComPtr”的声明
error C2514: “ATL::CComPtr” : 类没有构造函数
f:\vs\Vc7\atlmfc\include\atlcomcli.h(304) : 参见“ATL::CComPtr”的声明
error C2262: “pIDBPromptInitialize” : 不能被销毁
error C2065: “IDBProperties” : 未声明的标识符
error C2955: “ATL::CComPtr” : 使用类模板需要模板参数列表
f:\vs\Vc7\atlmfc\include\atlcomcli.h(304) : 参见“ATL::CComPtr”的声明
error C2514: “ATL::CComPtr” : 类没有构造函数
f:\vs\Vc7\atlmfc\include\atlcomcli.h(304) : 参见“ATL::CComPtr”的声明
error C2262: “pIDBProperties” : 不能被销毁
error C2065: “IDataInitialize” : 未声明的标识符
error C2955: “ATL::CComPtr” : 使用类模板需要模板参数列表
f:\vs\Vc7\atlmfc\include\atlcomcli.h(304) : 参见“ATL::CComPtr”的声明
error C2514: “ATL::CComPtr” : 类没有构造函数
f:\vs\Vc7\atlmfc\include\atlcomcli.h(304) : 参见“ATL::CComPtr”的声明
error C2262: “spDataInit” : 不能被销毁
error C2065: “CLSID_DataLinks” : 未声明的标识符
error C2065: “IID_IDBPromptInitialize” : 未声明的标识符
error C3861: “pIDBPromptInitialize”: 即使使用参数相关的查找,也未找到标识符
error C2039: “PromptDataSource” : 不是“ATL::_NoAddRefReleaseOnCComPtr<T>”的成员
error C2065: “DBPROMPTOPTIONS_PROPERTYSHEET” : 未声明的标识符
error C2065: “IID_IDBProperties” : 未声明的标识符
error C3861: “pIDBPromptInitialize”: 即使使用参数相关的查找,也未找到标识符
error C3861: “pIDBProperties”: 即使使用参数相关的查找,也未找到标识符
error C2065: “CLSID_MSDAINITIALIZE” : 未声明的标识符
error C2065: “IID_IDataInitialize” : 未声明的标识符
error C3861: “spDataInit”: 即使使用参数相关的查找,也未找到标识符
error C2039: “GetInitializationString” : 不是“ATL::_NoAddRefReleaseOnCComPtr<T>”的成员
error C3861: “spDataInit”: 即使使用参数相关的查找,也未找到标识符
error C3861: “pIDBProperties”: 即使使用参数相关的查找,也未找到标识符