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

📄 simplepointdatasethelper.h

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

#ifndef __SIMPLEPOINTDATASETHELPER_H_
#define __SIMPLEPOINTDATASETHELPER_H_

#include "resource.h"       // main symbols

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

/////////////////////////////////////////////////////////////////////////////
// CSimplePointDatasetHelper
class ATL_NO_VTABLE CSimplePointDatasetHelper : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CSimplePointDatasetHelper, &CLSID_SimplePointDatasetHelper>,
	public ISupportErrorInfo,
	public IPlugInDatasetHelper,
	public IPlugInDatasetInfo,
	public ISimplePointDatasetHelper
{
public:
	CSimplePointDatasetHelper()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_SIMPLEPOINTDATASETHELPER)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CSimplePointDatasetHelper)
	COM_INTERFACE_ENTRY(ISupportErrorInfo)
	COM_INTERFACE_ENTRY(IPlugInDatasetHelper)
	COM_INTERFACE_ENTRY(IPlugInDatasetInfo)
	COM_INTERFACE_ENTRY(ISimplePointDatasetHelper)
END_COM_MAP()

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

// IPlugInDatasetInfo
	STDMETHOD(get_LocalDatasetName)(BSTR *localName);
	STDMETHOD(get_DatasetType)(esriDatasetType *DatasetType);
	STDMETHOD(get_GeometryType)(esriGeometryType *GeometryType);
	STDMETHOD(get_ShapeFieldName)(BSTR *ShapeFieldName);

// IPlugInDatasetHelper
	STDMETHOD(get_ClassCount)(long *Count);
	STDMETHOD(get_ClassName)(long Index, BSTR *Name);
	STDMETHOD(get_ClassIndex)(BSTR Name, long *Index);
	STDMETHOD(get_Bounds)(IEnvelope **Bounds);
	STDMETHOD(get_Fields)(long ClassIndex, IFields **FieldSet);
	STDMETHOD(get_OIDFieldIndex)(long ClassIndex, long *OIDFieldIndex);
	STDMETHOD(get_ShapeFieldIndex)(long ClassIndex, long *ShapeFieldIndex);
	STDMETHOD(FetchByID)(long ClassIndex, long ID, VARIANT FieldMap, IPlugInCursorHelper **cursorHelper);
	STDMETHOD(FetchAll)(long ClassIndex, BSTR WhereClause, VARIANT FieldMap, IPlugInCursorHelper **cursorHelper);
	STDMETHOD(FetchByEnvelope)(long ClassIndex, IEnvelope *env, VARIANT_BOOL strictSearch, BSTR WhereClause, VARIANT FieldMap, IPlugInCursorHelper **cursorHelper);

// ISimplePointDatasetHelper
	STDMETHOD(put_DatasetName)(BSTR newVal);
	STDMETHOD(put_WorkspacePath)(BSTR newVal);
private:
	CComBSTR m_sDatasetName;
	CComBSTR m_sWorkspacePath;
};

#endif //__SIMPLEPOINTDATASETHELPER_H_

⌨️ 快捷键说明

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