⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cenum.h

📁 用测试OLE DB提供者的一个程序。能够测试出OEL DB提供者到底实现了哪些接口?很灵的。
💻 H
字号:
//-----------------------------------------------------------------------------
// Microsoft OLE DB RowsetViewer					   
// Copyright (C) 1994 - 1998 By Microsoft Corporation.
//
// @doc
//
// @module CENUM.H
//
//-----------------------------------------------------------------------------------

#ifndef _CENUM_H_
#define _CENUM_H_


///////////////////////////////////////////////////////////////
// Includes
//
///////////////////////////////////////////////////////////////
#include "Common.h"


///////////////////////////////////////////////////////////////
// Forwards
//
///////////////////////////////////////////////////////////////
class CMainWindow;
class CListBox;


///////////////////////////////////////////////////////////////
// Defines
//
///////////////////////////////////////////////////////////////
//ENUMINFO
struct ENUMINFO
{
	WCHAR			wszName[MAX_NAME_LEN];
	WCHAR			wszParseName[MAX_NAME_LEN];
	WCHAR			wszDescription[MAX_NAME_LEN];
	DBTYPE			wType;
	VARIANT_BOOL	fIsParent;
};


/////////////////////////////////////////////////////////////////
// CEnum class
//
/////////////////////////////////////////////////////////////////
class CEnum
{
public:
	//Constructors
	CEnum(HWND hWnd, CMainWindow* pCMainWindow, CListBox* pCListBox);
	virtual ~CEnum();

	//Connection
	virtual HRESULT		CreateProvider(IParseDisplayName* pIParseDisplayName, WCHAR* pwszParseName, DWORD dwCLSCTX, REFIID riid, IUnknown** ppIUnknown, DWORD dwConnectOpts, WCHAR* pwszRemoteServer = NULL);
	virtual HRESULT		CreateProvider(IUnknown* pIUnkOuter, CLSID clsid, DWORD dwCLSCTX, REFIID riid, IUnknown** ppIUnknown, DWORD dwConnectOpts, WCHAR* pwszRemoteServer = NULL);
	virtual HRESULT		CreateInstance(IUnknown* pIUnkOuter, CLSID clsid, DWORD dwCLSCTX, REFIID riid, IUnknown** ppIUnknown, WCHAR* pwszRemoteServer = NULL);

	//EnumInfo
	virtual ENUMINFO*	GetEnumInfo();
	virtual ENUMINFO*	GetEnumInfo(ULONG iIndex);

	virtual BOOL		IsConnectedToRootEnum();
	virtual HRESULT		ConnectToRootEnum();
	virtual HRESULT 	GetEnumRowset(IParseDisplayName* pIParseDisplayName, ULONG* pcEnumInfo, ENUMINFO** prgEnumInfo);

	//Objects
	CMainWindow*		m_pCMainWindow;
	CListBox*			m_pCListBox;

	//Root Enumerator
	IParseDisplayName*	m_pIParseDisplayName;	//Enum interface

	//Enumerator ProvierInfo
	ULONG				m_cEnumInfo;	
	ENUMINFO*			m_rgEnumInfo;
	HWND				m_hWnd;
};


#endif	//_CENUM_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -