OLE DB Programmer's Reference | |
Creates a data source object; analogous to CoCreateInstance.
HRESULT CreateDBInstance( REFCLSID clsidProvider, IUnknown * pUnkOuter, DWORD dwClsCtx, LPOLESTR pwszReserved, REFIID riid, IUnknown ** ppDataSource);
Parameters
- clsidProvider [in]
- The CLSID of the provider to instantiate.
- pUnkOuter [in]
- A pointer to the controlling IUnknown interface if the data source object is being created as a part of an aggregate; otherwise, it is a null pointer.
- dwClsCtx [in]
- CLSCTX values. CLSCTX_ALL, CLSCTX_SERVER, and CLSCTX_INPROC_SERVER are acceptable values, but the service components will always attempt to load the provider in-process. Ignored if *ppDataSource is not NULL.
- pwszReserved [in]
- Reserved for future use; must be NULL.
- riid [in]
- Interface requested on the data source.
- ppDataSource [out]
- A pointer to memory in which to return the interface pointer on the newly created data source.
Return Code
- S_OK
- The method succeeded.
- E_FAIL
- A provider-specific error occurred.
- E_NOINTERFACE
- The data source did not support the interface specified in riid.
riid was IID_NULL.
The object indicated by clsidProvider was not an OLE DB provider.
- E_UNEXPECTED
- The data source object cannot return the requested interface because the data source object is not initialized.
- DB_E_NOAGGREGATION
- pUnkOuter was not a null pointer, and riid was something other than IID_IUnknown.
pUnkOuter was not a null pointer, and the provider does not support aggregation.
dwClsCtx required out-of-process operation, which is not supported.
The provider does not support in-process operation and cannot be aggregated.
- E_INVALIDARG
- dwClsCtx was not a valid value.
ppDataSource was a null pointer.
- REGDB_E_CLASSNOTREG
- The provider indicated by clsidProvider was not found.
dwClsCtx indicated a server type not supported by the provider.
Comments
None.
1998-2001 Microsoft Corporation. All rights reserved.