// 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.


#include "stdafx.h"
#include "zkfpengx.h"

/////////////////////////////////////////////////////////////////////////////
// CZKFPEngX

IMPLEMENT_DYNCREATE(CZKFPEngX, CWnd)

/////////////////////////////////////////////////////////////////////////////
// CZKFPEngX properties

/////////////////////////////////////////////////////////////////////////////
// CZKFPEngX operations

long CZKFPEngX::GetEnrollCount()
{
	long result;
	InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetEnrollCount(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x6, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

BOOL CZKFPEngX::VerFinger(VARIANT* regTemplate, const VARIANT& verTemplate, BOOL ADoLearning, BOOL* ARegFeatureChanged)
{
	BOOL result;
	static BYTE parms[] =
		VTS_PVARIANT VTS_VARIANT VTS_BOOL VTS_PBOOL;
	InvokeHelper(0x8, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		regTemplate, &verTemplate, ADoLearning, ARegFeatureChanged);
	return result;
}

BOOL CZKFPEngX::VerRegFingerFile(LPCTSTR regTemplateFile, const VARIANT& verTemplate, BOOL ADoLearning, BOOL* ARegFeatureChanged)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_VARIANT VTS_BOOL VTS_PBOOL;
	InvokeHelper(0xa, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		regTemplateFile, &verTemplate, ADoLearning, ARegFeatureChanged);
	return result;
}

void CZKFPEngX::PrintImageAt(long hdc, long x, long y, long aWidth, long aHeight)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0xc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 hdc, x, y, aWidth, aHeight);
}

void CZKFPEngX::PrintImageEllipseAt(long hdc, long x, long y, long aWidth, long aHeight, unsigned long bkColor)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0xd, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 hdc, x, y, aWidth, aHeight, bkColor);
}

void CZKFPEngX::BeginEnroll()
{
	InvokeHelper(0xe, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

BOOL CZKFPEngX::SaveTemplate(LPCTSTR FileName, const VARIANT& ATemplate)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_VARIANT;
	InvokeHelper(0x12, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		FileName, &ATemplate);
	return result;
}

void CZKFPEngX::SaveBitmap(LPCTSTR FileName)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x16, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 FileName);
}

void CZKFPEngX::SaveJPG(LPCTSTR FileName)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x18, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 FileName);
}

long CZKFPEngX::InitEngine()
{
	long result;
	InvokeHelper(0x1a, DISPATCH_METHOD, VT_I4, (void*)&result, NULL);
	return result;
}

long CZKFPEngX::GetSensorIndex()
{
	long result;
	InvokeHelper(0x25, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetSensorIndex(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x25, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

void CZKFPEngX::CancelEnroll()
{
	InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

long CZKFPEngX::CreateFPCacheDB()
{
	long result;
	InvokeHelper(0x9, DISPATCH_METHOD, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::FreeFPCacheDB(long fpcHandle)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0xb, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 fpcHandle);
}

long CZKFPEngX::AddRegTemplateToFPCacheDB(long fpcHandle, long FPID, const VARIANT& pRegTemplate)
{
	long result;
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_VARIANT;
	InvokeHelper(0xf, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		fpcHandle, FPID, &pRegTemplate);
	return result;
}

long CZKFPEngX::RemoveRegTemplateFromFPCacheDB(long fpcHandle, long FPID)
{
	long result;
	static BYTE parms[] =
		VTS_I4 VTS_I4;
	InvokeHelper(0x10, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		fpcHandle, FPID);
	return result;
}

long CZKFPEngX::IdentificationInFPCacheDB(long fpcHandle, const VARIANT& pVerTemplate, long* Score, long* ProcessedFPNumber)
{
	long result;
	static BYTE parms[] =
		VTS_I4 VTS_VARIANT VTS_PI4 VTS_PI4;
	InvokeHelper(0x11, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		fpcHandle, &pVerTemplate, Score, ProcessedFPNumber);
	return result;
}

long CZKFPEngX::AddRegTemplateFileToFPCacheDB(long fpcHandle, long FPID, LPCTSTR pRegTemplateFile)
{
	long result;
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_BSTR;
	InvokeHelper(0x14, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		fpcHandle, FPID, pRegTemplateFile);
	return result;
}

long CZKFPEngX::GetThreshold()
{
	long result;
	InvokeHelper(0x15, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetThreshold(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x15, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

BOOL CZKFPEngX::DongleIsExist()
{
	BOOL result;
	InvokeHelper(0x17, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
	return result;
}

long CZKFPEngX::DongleUserID()
{
	long result;
	InvokeHelper(0x1c, DISPATCH_METHOD, VT_I4, (void*)&result, NULL);
	return result;
}

BOOL CZKFPEngX::DongleSeed(long* lp2, long* p1, long* p2, long* p3, long* p4)
{
	BOOL result;
	static BYTE parms[] =
		VTS_PI4 VTS_PI4 VTS_PI4 VTS_PI4 VTS_PI4;
	InvokeHelper(0x1d, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		lp2, p1, p2, p3, p4);
	return result;
}

BOOL CZKFPEngX::DongleMemRead(long* p1, long* p2, VARIANT* buf)
{
	BOOL result;
	static BYTE parms[] =
		VTS_PI4 VTS_PI4 VTS_PVARIANT;
	InvokeHelper(0x1e, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		p1, p2, buf);
	return result;
}

BOOL CZKFPEngX::DongleMemWrite(long* p1, long* p2, VARIANT* buf)
{
	BOOL result;
	static BYTE parms[] =
		VTS_PI4 VTS_PI4 VTS_PVARIANT;
	InvokeHelper(0x26, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		p1, p2, buf);
	return result;
}

long CZKFPEngX::IdentificationFromFileInFPCacheDB(long fpcHandle, LPCTSTR pVerTemplateFile, long* Score, long* ProcessedFPNumber)
{
	long result;
	static BYTE parms[] =
		VTS_I4 VTS_BSTR VTS_PI4 VTS_PI4;
	InvokeHelper(0x29, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		fpcHandle, pVerTemplateFile, Score, ProcessedFPNumber);
	return result;
}

BOOL CZKFPEngX::VerFingerFromFile(LPCTSTR regTemplateFile, LPCTSTR verTemplateFile, BOOL ADoLearning, BOOL* ARegFeatureChanged)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BOOL VTS_PBOOL;
	InvokeHelper(0x2a, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		regTemplateFile, verTemplateFile, ADoLearning, ARegFeatureChanged);
	return result;
}

CString CZKFPEngX::GetVerTplFileName()
{
	CString result;
	InvokeHelper(0x2b, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetVerTplFileName(LPCTSTR lpszNewValue)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x2b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 lpszNewValue);
}

CString CZKFPEngX::GetRegTplFileName()
{
	CString result;
	InvokeHelper(0x2c, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetRegTplFileName(LPCTSTR lpszNewValue)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x2c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 lpszNewValue);
}

VARIANT CZKFPEngX::GetTemplate()
{
	VARIANT result;
	InvokeHelper(0x2d, DISPATCH_METHOD, VT_VARIANT, (void*)&result, NULL);
	return result;
}

BOOL CZKFPEngX::GetFingerImage(VARIANT* AFingerImage)
{
	BOOL result;
	static BYTE parms[] =
		VTS_PVARIANT;
	InvokeHelper(0x2e, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		AFingerImage);
	return result;
}

long CZKFPEngX::GetOneToOneThreshold()
{
	long result;
	InvokeHelper(0x31, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetOneToOneThreshold(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x31, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

BOOL CZKFPEngX::IsOneToOneTemplate(const VARIANT& ATemplate)
{
	BOOL result;
	static BYTE parms[] =
		VTS_VARIANT;
	InvokeHelper(0x7, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		&ATemplate);
	return result;
}

void CZKFPEngX::ModifyTemplate(VARIANT* ATemplate, BOOL AOneToOne)
{
	static BYTE parms[] =
		VTS_PVARIANT VTS_BOOL;
	InvokeHelper(0x19, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 ATemplate, AOneToOne);
}

void CZKFPEngX::FlushFPImages()
{
	InvokeHelper(0x13, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

BOOL CZKFPEngX::GetActive()
{
	BOOL result;
	InvokeHelper(0x20, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetActive(BOOL bNewValue)
{
	static BYTE parms[] =
		VTS_BOOL;
	InvokeHelper(0x20, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 bNewValue);
}

BOOL CZKFPEngX::GetIsRegister()
{
	BOOL result;
	InvokeHelper(0x28, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetIsRegister(BOOL bNewValue)
{
	static BYTE parms[] =
		VTS_BOOL;
	InvokeHelper(0x28, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 bNewValue);
}

long CZKFPEngX::GetEnrollIndex()
{
	long result;
	InvokeHelper(0x2f, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetEnrollIndex(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x2f, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

CString CZKFPEngX::GetSensorSN()
{
	CString result;
	InvokeHelper(0x32, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetSensorSN(LPCTSTR lpszNewValue)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x32, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 lpszNewValue);
}

CString CZKFPEngX::GetFPEngineVersion()
{
	CString result;
	InvokeHelper(0x33, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetFPEngineVersion(LPCTSTR lpszNewValue)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x33, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 lpszNewValue);
}

long CZKFPEngX::GetImageWidth()
{
	long result;
	InvokeHelper(0x34, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetImageWidth(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x34, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

long CZKFPEngX::GetImageHeight()
{
	long result;
	InvokeHelper(0x35, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetImageHeight(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x35, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

long CZKFPEngX::GetSensorCount()
{
	long result;
	InvokeHelper(0x36, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetSensorCount(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x36, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

long CZKFPEngX::GetTemplateLen()
{
	long result;
	InvokeHelper(0x37, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetTemplateLen(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x37, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

BOOL CZKFPEngX::GetEngineValid()
{
	BOOL result;
	InvokeHelper(0x38, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

void CZKFPEngX::SetEngineValid(BOOL bNewValue)
{
	static BYTE parms[] =
		VTS_BOOL;
	InvokeHelper(0x38, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 bNewValue);
}

BOOL CZKFPEngX::DecodeTemplate(LPCTSTR ASour, VARIANT* ADest)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_PVARIANT;
	InvokeHelper(0x2, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		ASour, ADest);
	return result;
}

BOOL CZKFPEngX::EncodeTemplate(const VARIANT& ASour, BSTR* ADest)
{
	BOOL result;
	static BYTE parms[] =
		VTS_VARIANT VTS_PBSTR;
	InvokeHelper(0x3, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		&ASour, ADest);
	return result;
}

void CZKFPEngX::BeginCapture()
{
	InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

void CZKFPEngX::CancelCapture()
{
	InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

void CZKFPEngX::EndEngine()
{
	InvokeHelper(0x1b, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

VARIANT CZKFPEngX::DecodeTemplate1(LPCTSTR ASour)
{
	VARIANT result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x1f, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms,
		ASour);
	return result;
}

CString CZKFPEngX::EncodeTemplate1(const VARIANT& ASour)
{
	CString result;
	static BYTE parms[] =
		VTS_VARIANT;
	InvokeHelper(0x21, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
		&ASour);
	return result;
}
