// 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 "asciice2.h"

/////////////////////////////////////////////////////////////////////////////
// CAsciiCE2

IMPLEMENT_DYNCREATE(CAsciiCE2, CWnd)

/////////////////////////////////////////////////////////////////////////////
// CAsciiCE2 operations

void CAsciiCE2::CrLf()
{
	InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

void CAsciiCE2::Char(long ch)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 ch);
}

void CAsciiCE2::RepeatChar(long ch, long repeatcnt)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4;
	InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 ch, repeatcnt);
}

void CAsciiCE2::FormFeed()
{
	InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

long CAsciiCE2::SelectPort(long Port, long Baudrate, long Handshake)
{
	long result;
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x6, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		Port, Baudrate, Handshake);
	return result;
}

long CAsciiCE2::Init(LPCTSTR RegID)
{
	long result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x7, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		RegID);
	return result;
}

void CAsciiCE2::ClosePort()
{
	InvokeHelper(0x8, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

void CAsciiCE2::Text(LPCTSTR TextString)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x9, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 TextString);
}

long CAsciiCE2::GetCapabilities()
{
	long result;
	InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

long CAsciiCE2::GetPeek()
{
	long result;
	InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

long CAsciiCE2::GetStatusCheck()
{
	long result;
	InvokeHelper(0xc, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CAsciiCE2::SetSetErrorLevel(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0xd, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

void CAsciiCE2::SetSetReportLevel(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0xe, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

long CAsciiCE2::GetGetVersion()
{
	long result;
	InvokeHelper(0xf, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

CString CAsciiCE2::GetAbout()
{
	CString result;
	InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

long CAsciiCE2::PrDialogBox(long Operation)
{
	long result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x11, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		Operation);
	return result;
}

void CAsciiCE2::PrDialogBoxText(LPCTSTR MainText, LPCTSTR TitleText, LPCTSTR CancelBtnText)
{
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BSTR;
	InvokeHelper(0x12, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 MainText, TitleText, CancelBtnText);
}

long CAsciiCE2::SelectPortEx(long Port, long Baudrate, long Handshake, long ReadBufferSize)
{
	long result;
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x13, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		Port, Baudrate, Handshake, ReadBufferSize);
	return result;
}

short CAsciiCE2::ReadChar()
{
	short result;
	InvokeHelper(0x14, DISPATCH_METHOD, VT_I2, (void*)&result, NULL);
	return result;
}

CString CAsciiCE2::ReadString(long nMaxChars, long nLastChar, long nModeFlags, long nTimeToWait, long* lpResultFlags, long* lpCharsRead)
{
	CString result;
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_PI4 VTS_PI4;
	InvokeHelper(0x15, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
		nMaxChars, nLastChar, nModeFlags, nTimeToWait, lpResultFlags, lpCharsRead);
	return result;
}

VARIANT CAsciiCE2::ReadVar(long nMaxBytes, long nLastChar, long nModeFlags, long nTimeToWait, VARIANT* lpResultFlags, VARIANT* lpBytesRead)
{
	VARIANT result;
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_PVARIANT VTS_PVARIANT;
	InvokeHelper(0x17, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms,
		nMaxBytes, nLastChar, nModeFlags, nTimeToWait, lpResultFlags, lpBytesRead);
	return result;
}

CString CAsciiCE2::ReadStringVar(long nMaxChars, long nLastChar, long nModeFlags, long nTimeToWait, VARIANT* lpResultFlags, VARIANT* lpCharsRead)
{
	CString result;
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_PVARIANT VTS_PVARIANT;
	InvokeHelper(0x18, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
		nMaxChars, nLastChar, nModeFlags, nTimeToWait, lpResultFlags, lpCharsRead);
	return result;
}

void CAsciiCE2::WriteVar(VARIANT* lpBuffer, long nNumberOfBytesToWrite, VARIANT* lpNumberOfBytesWritten)
{
	static BYTE parms[] =
		VTS_PVARIANT VTS_I4 VTS_PVARIANT;
	InvokeHelper(0x1a, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten);
}

//-----------------------------------------------------------------------------------------
// Add to AsciiCE2.cpp


#define MY_VTS_PUI1 "\x51"
#define MY_VTS_UI1  "\x11"

void CAsciiCE2::Read(long nMaxBytes,long nLastChar,long nModeFlags,long nTimeToWait,long* lpResultFlags,long* lpBytesRead,unsigned char* lpBuffer)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_PI4 VTS_PI4 MY_VTS_PUI1;
	InvokeHelper(0x16, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 nMaxBytes, nLastChar, nModeFlags, nTimeToWait, lpResultFlags, lpBytesRead, lpBuffer);
}

void CAsciiCE2::Write(unsigned char* lpBuffer, long nNumberOfBytesToWrite, long* lpNumberOfBytesWritten)
{
	static BYTE parms[] =
		MY_VTS_PUI1 VTS_I4 VTS_PI4;
	InvokeHelper(0x19, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten);
}