2025-11-28 00:35:46 +09:00

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_