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

📄 mochaevent.h

📁 此代码是奥林巴斯相机驱动的例程
💻 H
字号:
// Mocha event acquisition class
#ifndef _MOCHAEVENT_H
#define _MOCHAEVENT_H

#include "resource.h"
#include "Mochacommon.h"

#define DEF_MOCHA_EVENT 0

class ATL_NO_VTABLE CMochaEvent :
	public CComObjectRootEx<CComSingleThreadModel>,
	public IDispEventImpl<DEF_MOCHA_EVENT, CMochaEvent, 
                             &DIID__IMochaEvents, &LIBID_MOCHALib, 1, 0>
{
public:
	HWND m_pWnd;
	CMochaEvent();
	virtual ~CMochaEvent();

	BEGIN_COM_MAP(CMochaEvent)
		COM_INTERFACE_ENTRY_IID(DIID__IMochaEvents, CMochaEvent)
	END_COM_MAP()

	BEGIN_SINK_MAP(CMochaEvent)
		SINK_ENTRY_EX(DEF_MOCHA_EVENT, DIID__IMochaEvents, EVT_PROGRESS, OnProgress)
		SINK_ENTRY_EX(DEF_MOCHA_EVENT, DIID__IMochaEvents, EVT_TRANSFER, OnTransfer)
		SINK_ENTRY_EX(DEF_MOCHA_EVENT, DIID__IMochaEvents, EVT_CANCEL_COMPLETE, OnCancelComplete)
	END_SINK_MAP()
	
	HRESULT _stdcall OnProgress(long lnCamNo,long lnPer);
	HRESULT _stdcall OnTransfer(LONG camNo, LONG objectHandle, LONG headerSize, LONG imageSize, LONG formatCode, LONG result);
	HRESULT _stdcall OnCancelComplete(long lnCamNo);
};

// The data class for picture reception
class CTransferInfo
{
public:
	long m_lnCamNo;			// Camera number
	long m_lnObjectHandle;	// Object handle
	long m_lnHeaderSize;	// Header size
	long m_lnImageSize;		// Image size
	long m_lnFormatCode;	// Format code
	long m_lnResult;		// Result
	IStream *m_pStream;		// pointer of IStream

	CTransferInfo()
	{
		m_lnCamNo=0;
		m_lnObjectHandle=0;
		m_lnHeaderSize=0;
		m_lnImageSize=0;
		m_lnFormatCode=0;
		m_lnResult=0;
		m_pStream = NULL;
	}
};

#endif

⌨️ 快捷键说明

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