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

📄 icompro.h

📁 组态王驱动开发包
💻 H
字号:
#ifndef  __ICOMPRO_H__
#define  __ICOMPRO_H__

//The interface ID for this special interface.
#define STR_IID_IPROTOCOL_IMP  0x2d921821, 0xd190, 0x11d1, { 0xbb, 0x16, 0x0, 0x40, 0x5, 0x62, 0x5a, 0xd7 }
static const IID IID_ProtocolImp = { STR_IID_IPROTOCOL_IMP };

//////////////////////////////////////////////////////////////////////////////
// CProtocolImp: Interface of Protocol.
class IProtocolImp : public IUnknown
{
public:	
	virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void** ppvObj) = 0;
    virtual ULONG STDMETHODCALLTYPE AddRef() = 0;
    virtual ULONG STDMETHODCALLTYPE Release() = 0;

	//This Interface
	virtual BOOL  STDMETHODCALLTYPE GetRegisters( char *szDeviceName, LPVOID *ppReg, int *pRegNum ) = 0;
	//与地址为UnitAddr的设备尝试进行通讯,用于故障侦探及恢复尝试.
	virtual BOOL  STDMETHODCALLTYPE TryConnect( char*  pDeviceName, int nUnitAddr, LPVOID lpDevAddr ) = 0;
	//将lpDbItem内的有关下位机的内容进行转换并填充到lpVar中
	virtual WORD  STDMETHODCALLTYPE ConvertUserConfigToVar( LPVOID  lpDbItem, LPVOID lpVar ) = 0;
	//加载设备的特殊信息,板卡中使用较多
	virtual int   STDMETHODCALLTYPE LoadDeviceInfo( const char *sProducer, const char *sDeviceName, int nSubType ) = 0;
	
	//初始化通讯设备 如:(串口或板卡等)
	virtual BOOL  STDMETHODCALLTYPE OpenComDevice( int nDeviceType, LPVOID lpInitData ) = 0;
	//关闭该通讯设备
	virtual BOOL  STDMETHODCALLTYPE CloseComDevice() = 0;
	//初始化设备,设置该设备的初始化状态,初始化信息从WIN.INI中得到
	virtual BOOL  STDMETHODCALLTYPE InitialDevice(char*  pDeviceName, int nUnitAddr, LPVOID lpDevAddr ) = 0;

	//判断变量是否能够加入到该包中一起采集:如果可以加入,返回TRUE并修改包的起止地址;否则返回FALSE.
	virtual BOOL  STDMETHODCALLTYPE AddVarToPacket( LPVOID lpVar, int nVarAccessType, LPVOID lpPacket) = 0;
	//根据协议处理包,若处理成功则返回真且将数据存入varList中,否则返回FALSE.
	virtual int   STDMETHODCALLTYPE ProcessPacket( LPVOID lpPacket ) = 0;
	//将字符串转换为设备地址,若成功则返回TRUE,若地址字符串不合理则返回FALSE.
	virtual BOOL  STDMETHODCALLTYPE StrToDevAddr( const char * str, LPVOID lpDevAddr )=0;
	//返回最近一次的错误信息.
	virtual char * STDMETHODCALLTYPE GetLastError()=0;// int * errCode, char ** errStr );
};

#endif    //__PROTOCOLX_H__

⌨️ 快捷键说明

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