| Using Remote Graphics Software |
&dwRead, | // number of bytes read |
&dwNeeded); | // bytes in next record |
if (CloseEventLog(h) == false) |
|
{ |
|
... report error status ... |
|
return true; |
|
} |
|
//Process event (example: print out event) ==============================
if (result)
{
//We only know how to process specific events if
{
//Retrieve the two UINT32 fields of this message
//representing primary and
unsigned int *pData = (unsigned int *) ((LPBYTE) pevlr +
//Examine state of primary connections here for other
//agent response if number drops to zero...
... example only prints out retrieved record to console ...
printf ("Event: %u Primary: %u Secondary: %u\n", dwEventNum, pData[0], pData[1]);
}
... Process other events here if desired ...
}
else
{
... report unrecognized event here ...
return true;
}
return false;
}
void monitorEvents(LPCTSTR eventServer, LPCTSTR eventSource, int seconds)
{
DWORD dwCurrentIndex = 0; DWORD dwCurrentStart; DWORD dwCurrentCount; DWORD dwNewIndex;
int waitedFor;
//This function will monitor the log for the specified number of
//seconds. If seconds is less than zero, we will wait forever. for (waitedFor = 0; seconds < 0 waitedFor < seconds; )
{
HANDLE h;
//Open, read status of log, close event log =========================
if ((h = OpenEventLog(eventServer, eventSource)) == NULL)
{
... report error status here ...
return;
}
// If an event is added, either the start or count will change.
99