Click here to Skip to main content
15,919,422 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Where can i get All type of API functions? Pin
alex.barylski26-Jan-02 21:58
alex.barylski26-Jan-02 21:58 
AnswerRe: Where can i get All type of API functions? Pin
Nish Nishant27-Jan-02 1:42
sitebuilderNish Nishant27-Jan-02 1:42 
GeneralCPen styles Pin
Steve L.26-Jan-02 15:41
Steve L.26-Jan-02 15:41 
GeneralRe: CPen styles Pin
alex.barylski26-Jan-02 22:34
alex.barylski26-Jan-02 22:34 
GeneralYuck: Globals and Static Data Members Pin
Swinefeaster26-Jan-02 14:05
Swinefeaster26-Jan-02 14:05 
GeneralRe: Yuck: Globals and Static Data Members Pin
alex.barylski26-Jan-02 22:03
alex.barylski26-Jan-02 22:03 
GeneralRe: Yuck: Globals and Static Data Members Pin
Swinefeaster26-Jan-02 22:21
Swinefeaster26-Jan-02 22:21 
GeneralWaitForSingleObject Pin
Sergei26-Jan-02 14:02
Sergei26-Jan-02 14:02 
I have external device. The device is connected with the computer through the serial-port. I send on the device number (signal), if it answers, the necessary procedure is started. I can use WaitCommEvent() for event (signal, EV_DSR), but if devise doesn't answer, WaitCommEvent will wait indefinitely, but i need to wait about 5 sec. I used WaitForSingleObject, but it doesn't work!
I don't know why. In what my error?

HANDLE port;
DWORD bc;
DCB dcb;
char buffer[100];
DWORD dwBlockSize=512;
void *szBuffer;
int numb=255;
BOOL fSuccess;
OVERLAPPED event;
DWORD dwEvtMask;

ZeroMemory(&dcb,sizeof(DCB));

strcpy(buffer,"baud=1200 parity=N data=8 stop=1");
BuildCommDCB((char*)&buffer,&dcb);
dcb.fRtsControl = RTS_CONTROL_ENABLE;

port=CreateFile("COM1",
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);

GetCommState(port,&dcb);

if(port==INVALID_HANDLE_VALUE)
{
CloseHandle(port);
}

SetCommState(port,&dcb);
HeapFree(GetProcessHeap(),0,&dcb);

szBuffer = malloc(dwBlockSize);
memset(szBuffer, numb, dwBlockSize);
WriteFile(port,szBuffer,sizeof(szBuffer),&bc,NULL);

free(szBuffer);

fSuccess = SetCommMask(port, EV_DSR);
event.hEvent = CreateEvent(NULL,FALSE,FALSE,NULL);

//Wait for signal
if (WaitForSingleObject(event.hEvent, 5000) == WAIT_OBJECT_0)
{
//procedure
}
else AfxMessageBox("There is no signal from the device");

CloseHandle(port);
GeneralRe: WaitForSingleObject Pin
Not Active26-Jan-02 16:22
mentorNot Active26-Jan-02 16:22 
Generalgrid lines Pin
A_choo26-Jan-02 13:36
A_choo26-Jan-02 13:36 
GeneralRe: grid lines Pin
alex.barylski26-Jan-02 22:23
alex.barylski26-Jan-02 22:23 
GeneralRe: grid lines Pin
A_choo29-Jan-02 22:45
A_choo29-Jan-02 22:45 
GeneralPointer Validation dynamic_cast<> Pin
Swinefeaster26-Jan-02 12:32
Swinefeaster26-Jan-02 12:32 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Christian Graus26-Jan-02 13:33
protectorChristian Graus26-Jan-02 13:33 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Swinefeaster26-Jan-02 13:37
Swinefeaster26-Jan-02 13:37 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Christian Graus26-Jan-02 13:41
protectorChristian Graus26-Jan-02 13:41 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Swinefeaster26-Jan-02 13:56
Swinefeaster26-Jan-02 13:56 
GeneralRe: Pointer Validation dynamic_cast<> Pin
26-Jan-02 15:25
suss26-Jan-02 15:25 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Swinefeaster26-Jan-02 16:08
Swinefeaster26-Jan-02 16:08 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Andrew Peace27-Jan-02 0:50
Andrew Peace27-Jan-02 0:50 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Swinefeaster27-Jan-02 0:51
Swinefeaster27-Jan-02 0:51 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Jamie Hale28-Jan-02 5:17
Jamie Hale28-Jan-02 5:17 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Swinefeaster28-Jan-02 9:32
Swinefeaster28-Jan-02 9:32 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Matt Gullett26-Jan-02 14:25
Matt Gullett26-Jan-02 14:25 
GeneralRe: Pointer Validation dynamic_cast<> Pin
Swinefeaster26-Jan-02 16:05
Swinefeaster26-Jan-02 16:05 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.