Elo TouchSystems 1525L manual MagTek Device Drivers for Windows, STAGE 6, CreateEvent NULL

Models: 1525L

1 181
Download 181 pages 9.32 Kb
Page 135
Image 135
drv_h = OPEN_DEVICE (argv[1]); if (drv_h == INVALID_HANDLE_VALUE)

MagTek Device Drivers for Windows

/** clear overlapped structure */ memset ( &ov_r, 0, sizeof (ov_r) ); memset ( &ov_w, 0, sizeof (ov_w) );

if (argc < 2)

drv_h = OPEN_DEVICE ("COM5"); /* Must Specify proper COM# as default */ else

drv_h = OPEN_DEVICE (argv[1]); if (drv_h == INVALID_HANDLE_VALUE)

{

ws = GetLastError();

printf("Can NOT open device : %s. Error : 0x%lx", "", ws); return ( stage);

}

{DCB dcb; GetCommState(drv_h, &dcb); dcb.BaudRate = CBR_9600; dcb.Parity = NOPARITY; dcb.ByteSize = 8; dcb.StopBits = ONESTOPBIT; dcb.fParity = 0; dcb.fBinary = 1; dcb.fOutxCtsFlow = 0; dcb.fOutxDsrFlow = 0; dcb.fDtrControl = DTR_CONTROL_ENABLE; SetCommState(drv_h, &dcb);

}

#define STAGE(idx, op, msg)

 

\

ret_h = op;

\

if

(ret_h==NULL)

\

 

{

\

 

printf("%s\n", (msg));

\

 

break;

\

 

}

\

stage = idx;

 

do {

 

 

STAGE ( 6, CreateEvent (NULL,

TRUE, FALSE, NULL),

 

"Can't Create Overlapped Event(read)" );

 

ov_r.hEvent = ret_h;

 

 

STAGE ( 7, CreateEvent (NULL, TRUE, FALSE, NULL), "Can't Create Overlapped Event(write)" );

ov_w.hEvent = ret_h;

STAGE ( 8,

 

CreateThread(

 

NULL,

// address of thread security attributes

0L,

// initial thread stack size, in bytes

(LPTHREAD_START_ROUTINE)output_thread,// adr of thread function

NULL,

// argument for new thread

0L,

// creation flags 0-run immediately

&retdw

// address of returned thread identifier

),

 

"Can't Create output thread" ); out_threadh = ret_h;

STAGE ( 9,

CreateThread(

132

Page 135
Image 135
Elo TouchSystems 1525L manual MagTek Device Drivers for Windows, drvh = OPENDEVICE argv1 if drvh == INVALIDHANDLEVALUE