// [!output DATASOURCE_HEADER] : Declaration of the [!output DATASOURCE_CLASS] #pragma once #include "resource.h" // main symbols #include "[!output ROWSET_HEADER]" #include "[!output SESSION_HEADER]" // [!output DATASOURCE_CLASS] [!if ATTRIBUTED] [ coclass, threading(apartment), vi_progid("[!output VERSION_INDEPENDENT_PROGID]"), progid("[!output PROGID]"), version(1.0), uuid("[!output CLSID_REGISTRY_FORMAT]"), helpstring("[!output TYPE_NAME]"), registration_script("provider.rgs") ] [!endif] class ATL_NO_VTABLE [!output DATASOURCE_CLASS] : [!if !ATTRIBUTED] public CComObjectRootEx, public CComCoClass<[!output DATASOURCE_CLASS], &CLSID_[!output COCLASS]>, [!endif] public IDBCreateSessionImpl<[!output DATASOURCE_CLASS], [!output SESSION_CLASS]>, public IDBInitializeImpl<[!output DATASOURCE_CLASS]>, public IDBPropertiesImpl<[!output DATASOURCE_CLASS]>, public IPersistImpl<[!output DATASOURCE_CLASS]>, public IInternalConnectionImpl<[!output DATASOURCE_CLASS]> { public: DECLARE_PROTECT_FINAL_CONSTRUCT() HRESULT FinalConstruct() { return FInit(); } void FinalRelease() { } [!if !ATTRIBUTED] DECLARE_REGISTRY_RESOURCEID([!output RGS_ID]) BEGIN_COM_MAP([!output DATASOURCE_CLASS]) COM_INTERFACE_ENTRY(IDBCreateSession) COM_INTERFACE_ENTRY(IDBInitialize) COM_INTERFACE_ENTRY(IDBProperties) COM_INTERFACE_ENTRY(IPersist) COM_INTERFACE_ENTRY(IInternalConnection) END_COM_MAP() [!endif] BEGIN_PROPSET_MAP([!output DATASOURCE_CLASS]) BEGIN_PROPERTY_SET(DBPROPSET_DATASOURCEINFO) PROPERTY_INFO_ENTRY(ACTIVESESSIONS) PROPERTY_INFO_ENTRY(DATASOURCEREADONLY) PROPERTY_INFO_ENTRY(BYREFACCESSORS) PROPERTY_INFO_ENTRY(OUTPUTPARAMETERAVAILABILITY) PROPERTY_INFO_ENTRY(PROVIDEROLEDBVER) PROPERTY_INFO_ENTRY(DSOTHREADMODEL) PROPERTY_INFO_ENTRY(SUPPORTEDTXNISOLEVELS) PROPERTY_INFO_ENTRY(USERNAME) END_PROPERTY_SET(DBPROPSET_DATASOURCEINFO) BEGIN_PROPERTY_SET(DBPROPSET_DBINIT) PROPERTY_INFO_ENTRY(AUTH_PASSWORD) PROPERTY_INFO_ENTRY(AUTH_PERSIST_SENSITIVE_AUTHINFO) PROPERTY_INFO_ENTRY(AUTH_USERID) PROPERTY_INFO_ENTRY(INIT_DATASOURCE) PROPERTY_INFO_ENTRY(INIT_HWND) PROPERTY_INFO_ENTRY(INIT_LCID) PROPERTY_INFO_ENTRY(INIT_LOCATION) PROPERTY_INFO_ENTRY(INIT_MODE) PROPERTY_INFO_ENTRY(INIT_PROMPT) PROPERTY_INFO_ENTRY(INIT_PROVIDERSTRING) PROPERTY_INFO_ENTRY(INIT_TIMEOUT) END_PROPERTY_SET(DBPROPSET_DBINIT) CHAIN_PROPERTY_SET([!output SESSION_CLASS]) CHAIN_PROPERTY_SET([!output COMMAND_CLASS]) END_PROPSET_MAP() public: }; [!if !ATTRIBUTED] OBJECT_ENTRY_AUTO(__uuidof([!output COCLASS]), [!output DATASOURCE_CLASS]) [!endif]