Page 1 of 1

FlushComm()

PostPosted: Sat Feb 27, 2010 11:29 pm
by Jeff Barnes
Hi,

A while back Antonio helped me get some serial communication issues sorted out with FWPPC.

Basically to get ReadComm() and WriteComm() to work he had me add the following code to the end of my .prg file. I now need the same type of thing for FlushComm().

Code: Select all  Expand view
HB_FUNC( READCOMM )
{
  DWORD dw = 0;
  ReadFile( ( HANDLE ) hb_parnl( 1 ), ( LPVOID ) hb_parc( 2 ), ( DWORD ) hb_parni( 3 ), &dw, NULL );

  hb_retni( ( int ) dw ? dw : -1 );
}

HB_FUNC( WRITECOMM )
{
  DWORD dw = 0;
  WriteFile( (HANDLE ) hb_parnl( 1 ), ( LPVOID ) hb_parc( 2 ), ( DWORD ) hb_parni( 3 ), &dw, NULL );
  hb_retni( ( int ) dw ? dw : -1);
}


I have done some searching and found that the windows API uses PurgeComm in place of FlushComm but I do not know how to set it up as above.

Can someone please help me out on this :?

Re: FlushComm()

PostPosted: Sun Feb 28, 2010 3:12 pm
by Antonio Linares
Jeff,

Code: Select all  Expand view

HB_FUNC( FLUSHCOMM )
{
  hb_retl( PurgeComm( ( HANDLE ) hb_parnl( 1 ), ( DWORD ) hb_parnl( 2 ) ) );
}
 

The second parameter can be one or a combination of the following values:
http://msdn.microsoft.com/en-us/library/aa363428(VS.85).aspx