80 lines
2.3 KiB
C++
80 lines
2.3 KiB
C++
//-----------------------------------------------------------------------------
|
|
// Microsoft OLE DB RowsetViewer
|
|
// Copyright (C) 1994 - 1999 By Microsoft Corporation.
|
|
//
|
|
// @doc
|
|
//
|
|
// @module CDATASOURCE.H
|
|
//
|
|
//-----------------------------------------------------------------------------------
|
|
|
|
#ifndef _CDATASOURCE_H_
|
|
#define _CDATASOURCE_H_
|
|
|
|
|
|
///////////////////////////////////////////////////////////////
|
|
// Includes
|
|
//
|
|
///////////////////////////////////////////////////////////////
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
// CDataSource class
|
|
//
|
|
/////////////////////////////////////////////////////////////////
|
|
class CDataSource : public CPropertiesBase
|
|
{
|
|
public:
|
|
//Constructors
|
|
CDataSource(CMainWindow* pCMainWindow, CMDIChild* pCMDIChild = NULL);
|
|
virtual ~CDataSource();
|
|
|
|
//IUnknown Helpers
|
|
virtual HRESULT AutoQI(DWORD dwCreateOpts);
|
|
virtual HRESULT AutoRelease();
|
|
virtual IUnknown** GetInterfaceAddress(REFIID riid);
|
|
|
|
//Pure Virtual
|
|
virtual WCHAR* GetObjectName() { return L"DataSource"; }
|
|
virtual UINT GetObjectMenu() { return IDM_DATASOURCEMENU; }
|
|
virtual REFIID GetDefaultInterface() { return IID_IDBProperties; }
|
|
virtual WCHAR* GetObjectDesc();
|
|
|
|
virtual LONG GetObjectImage() { return IMAGE_DATASOURCE; }
|
|
|
|
//Members
|
|
|
|
//Helpers
|
|
virtual HRESULT CreateSession(CAggregate* pCAggregate, REFIID riid, IUnknown** ppIUnknown);
|
|
virtual HRESULT AdminCreateDataSource(CAggregate* pCAggregate, ULONG cPropSets, DBPROPSET* rgPropSets, REFIID riid, IUnknown** ppIUnknown);
|
|
virtual HRESULT GetClassID(CLSID* pclsid, WCHAR** ppwszProgID = NULL);
|
|
|
|
//Pooling
|
|
|
|
|
|
//OLE DB Interfaces
|
|
//[MANADATORY]
|
|
IDBCreateSession* m_pIDBCreateSession; //DataSource interface
|
|
IPersist* m_pIPersist; //DataSource interface
|
|
|
|
//[OPTIONAL]
|
|
IDBDataSourceAdmin* m_pIDBDataSourceAdmin; //DataSource interface
|
|
IDBInfo* m_pIDBInfo; //DataSource interface
|
|
IPersistFile* m_pIPersistFile; //DataSource interface
|
|
|
|
//Services
|
|
IServiceProvider* m_pIServiceProvider; //Service Interface
|
|
|
|
//DataSource info
|
|
CComBSTR m_cstrDataSource;
|
|
CComBSTR m_cstrDBMS;
|
|
CComBSTR m_cstrDBMSVer;
|
|
|
|
CComBSTR m_cstrProviderName;
|
|
CComBSTR m_cstrProviderDesc;
|
|
LONG m_lDataSourceType;
|
|
};
|
|
|
|
|
|
#endif //_CDATASOURCE_H_
|