C example, Send current command – MagTek 99875125 User Manual

Page 64

Advertising
background image

MagTek Device Drivers for Windows


C EXAMPLE

#include

<stdio.h>

#include

<windows.h>

#define

BUF_LEN 256

#define

COMM_TIMEOUT 5000

//----------------------------------------------------------------------------------

BOOL OpenMTD(PHANDLE phMTD);
BOOL CloseMTD(PHANDLE phMTD);
BOOL WriteMTD(PHANDLE phMTD, LPTSTR lpParam,DWORD *lpdwWritten);
BOOL ReadMTD(PHANDLE phMTD, LPTSTR lpParam,DWORD pdwReadSize,DWORD *lpdwRead);

//----------------------------------------------------------------------------------

BOOL OpenMTD(PHANDLE phMTD)
{

*phMTD = CreateFile("\\\\.\\COM9" , GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
FILE_FLAG_OVERLAPPED, NULL);

if

(*phMTD!= INVALID_HANDLE_VALUE)

{
DCB

dcb;

if

(!GetCommState(*phMTD, &dcb))

{

return

FALSE;

}


//Setup the baud rate

dcb.BaudRate

=

CBR_9600;

dcb.Parity

=

EVENPARITY;


//Setup the data bits

dcb.ByteSize

=

7;

dcb.StopBits

=

ONESTOPBIT;


//Setup the flow control

dcb.fDsrSensitivity

=

FALSE;

dcb.fOutxCtsFlow

=

FALSE;

dcb.fOutxDsrFlow

=

FALSE;

dcb.fOutX

=

FALSE;

dcb.fInX

=

FALSE;


//Now that we have all the settings in place, make the changes

if

(!SetCommState(*phMTD, &dcb))

{

return

FALSE;

}

return

TRUE;

}

return

FALSE;


}

//----------------------------------------------------------------------------------

BOOL CloseMTD(PHANDLE phMTD)
{

if

(*phMTD!= INVALID_HANDLE_VALUE)

{
CloseHandle(*phMTD);

return

TRUE;

}

return

FALSE;


}

//----------------------------------------------------------------------------------

BOOL WriteMTD(PHANDLE phMTD, LPTSTR lpParam,DWORD *lpdwWritten)
{

if

(phMTD== INVALID_HANDLE_VALUE)

{

return

FALSE;

}

56

Advertising