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

113 lines
3.6 KiB
C++

//-----------------------------------------------------------------------------
// Microsoft OLE DB RowsetViewer
// Copyright (C) 1994 - 1999 By Microsoft Corporation.
//
// @doc
//
// @module CDATALINKS.H
//
//-----------------------------------------------------------------------------------
#ifndef _CDATALINKS_H_
#define _CDATALINKS_H_
///////////////////////////////////////////////////////////////
// Includes
//
///////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
// CServiceComp class
//
/////////////////////////////////////////////////////////////////
class CServiceComp : public CBase
{
public:
//Constructors
CServiceComp(CMainWindow* pCMainWindow);
virtual ~CServiceComp();
//IUnknown Helpers
virtual HRESULT AutoQI(DWORD dwCreateOpts);
virtual HRESULT AutoRelease();
virtual IUnknown** GetInterfaceAddress(REFIID riid);
//Pure Virtual
virtual WCHAR* GetObjectName() { return L"Service Components"; }
virtual UINT GetObjectMenu() { return IDM_SERVICECOMPMENU; }
virtual LONG GetObjectImage() { return IMAGE_SERVICECOMP; }
virtual REFIID GetDefaultInterface() { return IID_IDataInitialize; }
virtual void OnDefOperation();
//Helpers
virtual HRESULT Create(CBase* pCSource, DWORD dwCSLCTX = CLSCTX_INPROC_SERVER, WCHAR* pwszRemoteServer = NULL);
//IDataInitialize
virtual HRESULT CreateDBInstance(REFCLSID clsid, CAggregate* pCAggregate, DWORD dwCLSCTX, REFIID riid, IUnknown** ppIUnknown);
virtual HRESULT GetDataSource(CAggregate* pCAggregate, DWORD dwCLSCTX, WCHAR* pwszInitString, REFIID riid, IUnknown** ppIUnknown);
virtual HRESULT GetInitString(IUnknown* pIUnknown, boolean fIncludePassword, WCHAR** ppwszInitString);
virtual HRESULT SaveInitString(WCHAR* pwszFileName, WCHAR* pwszInitString, DWORD dwCreateOpts = CREATE_ALWAYS);
virtual HRESULT LoadInitString(WCHAR* pwszFileName, WCHAR** pwszInitString = NULL);
//Helpers
virtual HRESULT ConnectFromFile(WCHAR* pwszInitString);
//Data
WCHAR* m_pwszInitString;
//OLE DB Interfaces
//[MANADATORY]
IDataInitialize* m_pIDataInitialize; //DataLink interface
//[OPTIONAL]
//Extra interfaces
};
/////////////////////////////////////////////////////////////////
// CDataLinks class
//
/////////////////////////////////////////////////////////////////
class CDataLinks : public CBase
{
public:
//Constructors
CDataLinks(CMainWindow* pCMainWindow);
virtual ~CDataLinks();
//IUnknown Helpers
virtual HRESULT AutoQI(DWORD dwCreateOpts);
virtual HRESULT AutoRelease();
virtual IUnknown** GetInterfaceAddress(REFIID riid);
//Pure Virtual
virtual WCHAR* GetObjectName() { return L"Data Links"; }
virtual UINT GetObjectMenu() { return IDM_DATALINKSMENU; }
virtual LONG GetObjectImage() { return IMAGE_DATALINKS; }
virtual REFIID GetDefaultInterface() { return IID_IDBPromptInitialize; }
virtual void OnDefOperation();
//Helpers
virtual HRESULT Create(CBase* pCSource, DWORD dwCSLCTX = CLSCTX_INPROC_SERVER, WCHAR* pwszRemoteServer = NULL);
//IDBPromptInitialize
virtual HRESULT PromptDataSource(CAggregate* pCAggregate, HWND hWndParent, DBPROMPTOPTIONS dwPromptOptions, ULONG cTypeFilters, DBSOURCETYPE* rgTypeFilters, WCHAR* pwszProvFilter, REFIID riid, IUnknown** ppDataSource);
virtual HRESULT PromptFileName(HWND hWndParent, DBPROMPTOPTIONS dwPromptOptions, WCHAR* pwszDirectory, WCHAR* pwszFileName, WCHAR** ppwszSelectedFile);
//OLE DB Interfaces
//[MANADATORY]
IDBPromptInitialize* m_pIDBPromptInitialize; //DataLink interface
//[OPTIONAL]
};
#endif //_CDATALINKS_H_