#if !defined(AFX_ZKFPENGX_H__3B22EFCC_CD63_4853_9DB7_31BEE7FC777E__INCLUDED_)
#define AFX_ZKFPENGX_H__3B22EFCC_CD63_4853_9DB7_31BEE7FC777E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.

/////////////////////////////////////////////////////////////////////////////
// CZKFPEngX wrapper class

class CZKFPEngX : public CWnd
{
protected:
	DECLARE_DYNCREATE(CZKFPEngX)
public:
	CLSID const& GetClsid()
	{
		static CLSID const clsid
			= { 0xca69969c, 0x2f27, 0x41d3, { 0x95, 0x4d, 0xa4, 0x8b, 0x94, 0x1c, 0x3b, 0xa7 } };
		return clsid;
	}
	virtual BOOL Create(LPCTSTR lpszClassName,
		LPCTSTR lpszWindowName, DWORD dwStyle,
		const RECT& rect,
		CWnd* pParentWnd, UINT nID,
		CCreateContext* pContext = NULL)
	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }

    BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
		const RECT& rect, CWnd* pParentWnd, UINT nID,
		CFile* pPersist = NULL, BOOL bStorage = FALSE,
		BSTR bstrLicKey = NULL)
	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
		pPersist, bStorage, bstrLicKey); }

// Attributes
public:

// Operations
public:
	long GetEnrollCount();
	void SetEnrollCount(long nNewValue);
	BOOL VerFinger(VARIANT* regTemplate, const VARIANT& verTemplate, BOOL ADoLearning, BOOL* ARegFeatureChanged);
	BOOL VerRegFingerFile(LPCTSTR regTemplateFile, const VARIANT& verTemplate, BOOL ADoLearning, BOOL* ARegFeatureChanged);
	void PrintImageAt(long hdc, long x, long y, long aWidth, long aHeight);
	void PrintImageEllipseAt(long hdc, long x, long y, long aWidth, long aHeight, unsigned long bkColor);
	void BeginEnroll();
	BOOL SaveTemplate(LPCTSTR FileName, const VARIANT& ATemplate);
	void SaveBitmap(LPCTSTR FileName);
	void SaveJPG(LPCTSTR FileName);
	long InitEngine();
	long GetSensorIndex();
	void SetSensorIndex(long nNewValue);
	void CancelEnroll();
	long CreateFPCacheDB();
	void FreeFPCacheDB(long fpcHandle);
	long AddRegTemplateToFPCacheDB(long fpcHandle, long FPID, const VARIANT& pRegTemplate);
	long RemoveRegTemplateFromFPCacheDB(long fpcHandle, long FPID);
	long IdentificationInFPCacheDB(long fpcHandle, const VARIANT& pVerTemplate, long* Score, long* ProcessedFPNumber);
	long AddRegTemplateFileToFPCacheDB(long fpcHandle, long FPID, LPCTSTR pRegTemplateFile);
	long GetThreshold();
	void SetThreshold(long nNewValue);
	BOOL DongleIsExist();
	long DongleUserID();
	BOOL DongleSeed(long* lp2, long* p1, long* p2, long* p3, long* p4);
	BOOL DongleMemRead(long* p1, long* p2, VARIANT* buf);
	BOOL DongleMemWrite(long* p1, long* p2, VARIANT* buf);
	long IdentificationFromFileInFPCacheDB(long fpcHandle, LPCTSTR pVerTemplateFile, long* Score, long* ProcessedFPNumber);
	BOOL VerFingerFromFile(LPCTSTR regTemplateFile, LPCTSTR verTemplateFile, BOOL ADoLearning, BOOL* ARegFeatureChanged);
	CString GetVerTplFileName();
	void SetVerTplFileName(LPCTSTR lpszNewValue);
	CString GetRegTplFileName();
	void SetRegTplFileName(LPCTSTR lpszNewValue);
	VARIANT GetTemplate();
	BOOL GetFingerImage(VARIANT* AFingerImage);
	long GetOneToOneThreshold();
	void SetOneToOneThreshold(long nNewValue);
	BOOL IsOneToOneTemplate(const VARIANT& ATemplate);
	void ModifyTemplate(VARIANT* ATemplate, BOOL AOneToOne);
	void FlushFPImages();
	BOOL GetActive();
	void SetActive(BOOL bNewValue);
	BOOL GetIsRegister();
	void SetIsRegister(BOOL bNewValue);
	long GetEnrollIndex();
	void SetEnrollIndex(long nNewValue);
	CString GetSensorSN();
	void SetSensorSN(LPCTSTR lpszNewValue);
	CString GetFPEngineVersion();
	void SetFPEngineVersion(LPCTSTR lpszNewValue);
	long GetImageWidth();
	void SetImageWidth(long nNewValue);
	long GetImageHeight();
	void SetImageHeight(long nNewValue);
	long GetSensorCount();
	void SetSensorCount(long nNewValue);
	long GetTemplateLen();
	void SetTemplateLen(long nNewValue);
	BOOL GetEngineValid();
	void SetEngineValid(BOOL bNewValue);
	BOOL DecodeTemplate(LPCTSTR ASour, VARIANT* ADest);
	BOOL EncodeTemplate(const VARIANT& ASour, BSTR* ADest);
	void BeginCapture();
	void CancelCapture();
	void EndEngine();
	VARIANT DecodeTemplate1(LPCTSTR ASour);
	CString EncodeTemplate1(const VARIANT& ASour);
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_ZKFPENGX_H__3B22EFCC_CD63_4853_9DB7_31BEE7FC777E__INCLUDED_)
