1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
// Open the datasource specified by the passed filename, typically a .UDL file
HRESULT CDataSource::OpenFromFileName(LPCOLESTR szFileName) throw()
{
CComPtr<IDataInitialize> spDataInit;
CComHeapPtr<OLECHAR> spszInitString;
HRESULT hr = CoCreateInstance(__uuidof(MSDAINITIALIZE), NULL, CLSCTX_INPROC_SERVER,
__uuidof(IDataInitialize), (void**)&spDataInit);
if (FAILED(hr))
return hr;
hr = spDataInit->LoadStringFromStorage(szFileName, &spszInitString);
if (FAILED(hr))
return hr;
return OpenFromInitializationString(spszInitString);
} |