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

📄 simplepointworkspacehelper.h

📁 COM编程接口处理方法 多个方法调用COM库函数
💻 H
字号:
// SimplePointWorkspaceHelper.h : Declaration of the CSimplePointWorkspaceHelper

#ifndef __SIMPLEPOINTWORKSPACEHELPER_H_
#define __SIMPLEPOINTWORKSPACEHELPER_H_

#include "resource.h"       // main symbols

// add DTC smart pointer for our interface
_COM_SMARTPTR_TYPEDEF(ISimplePointDatasetHelper, __uuidof(ISimplePointDatasetHelper));

// Use standard map template class to provide data structure
// for a set of <filename, plug-in dataset helper> pairs.
#include <map>
typedef std::map<CComBSTR, IPlugInDatasetInfoPtr> PlugInDatasets;

/////////////////////////////////////////////////////////////////////////////
// CSimplePointWorkspaceHelper
class ATL_NO_VTABLE CSimplePointWorkspaceHelper : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CSimplePointWorkspaceHelper, &CLSID_SimplePointWorkspaceHelper>,
	public ISupportErrorInfo,
	public ISimplePointWorkspaceHelper,
	public IPlugInWorkspaceHelper 
{
public:
	CSimplePointWorkspaceHelper()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_SIMPLEPOINTWORKSPACEHELPER)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CSimplePointWorkspaceHelper)
	COM_INTERFACE_ENTRY(ISimplePointWorkspaceHelper)
	COM_INTERFACE_ENTRY(IPlugInWorkspaceHelper)
	COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()

// ISupportsErrorInfo
	STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);

// ISimplePointWorkspaceHelper
	STDMETHOD(put_WorkspacePath)(BSTR newVal);
// IPlugInWorkspaceHelper
	STDMETHOD(get_RowCountIsCalculated)(VARIANT_BOOL *rowCountCalculated);
	STDMETHOD(get_OIDIsRecordNumber)(VARIANT_BOOL *OIDIsRecordNumber);
	STDMETHOD(get_NativeType)(esriDatasetType DatasetType, BSTR localName, INativeType **ppNativeType);
	STDMETHOD(get_DatasetNames)(esriDatasetType DatasetType, IArray **DatasetNames);
	STDMETHOD(OpenDataset)(BSTR localName, IPlugInDatasetHelper **datasetHelper);

private:
	HRESULT CreatePlugInDatasetHelper(BSTR fileName, IPlugInDatasetInfo ** ppPlugInDatasetInfo);
	CComBSTR m_sWorkspacePath;    // file path to the workspace
	PlugInDatasets m_mapDatasets; // cache of open dataset pointers 

};

#endif //__SIMPLEPOINTWORKSPACEHELPER_H_

⌨️ 快捷键说明

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