IOCTL_FARC_GET_READ_TIMEOUT

Description:
Retrieve currently set timeout value in ms units (see IOCTL_FARC_SET_READ_TIMEOUT).
A return value of '0' means, that the driver waits infinitely for the receipt of an ARCNET data packet when performing a ReadFile operation (this is the default state).

Parameters:

Parameter Type Description
Input
- - -
Output
Timeout ULONG Timeout value in milliseconds.
Value 0 means that timeout is disabled and ReadFile() waits infinetely for the receipt of an ARCNET data packet.

Possible errors (see also Error codes):
E_FARC_INVALID_HANDLE
E_FARC_BUFFER_TOO_SMALL

Example:
Note, that the following example is only a fragment. It is recommended, that the driver is opened in asynchronous mode and a handle to the driver is available.

OVERLAPPED overlapped; DWORD read, err; BOOL ret; ULONG ulTimeout; overlapped.Offset = 0; overlapped.OffsetHigh = 0; overlapped.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); ... ret = DeviceIoControl(drvhandle, IOCTL_FARC_GET_READ_TIMEOUT, NULL, 0, &ulTimeout, sizeof(ulTimeout), &read, &overlapped); if (!ret) { err = GetLastError(); if (err == E_FARC_PENDING) { ret = GetOverlappedResult(drvhandle, &overlapped, &read, TRUE); if (!ret) { err = GetLastError(); // do errorhandling here } } else { // other error occured, perhaps wrong handle } } printf ("Currently used timeout value: %lu", ulTimeout) ; ...

See also:
DeviceIoControl()
ReadFile()
IOCTL_FARC_SET_READ_TIMEOUT

Back to Programming Guide Contact Copyright and Disclaimer