[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

Each opendevice() must eventually be matched by a call to closedevice().
When the last close is performed, the device will deallocate all resources
and buffers.  The latest parameter settings will be saved for the next
open.

All I/O requests must be complete before closedevice().  if any requests
are still pending, abort them with AbortIO():

   if (!(CheckIO(ParallelIO)))
       {
       AbortIO(ParallelIO);  /* Ask device to abort request, if pending */
       }
   WaitIO(ParallelIO);       /* Wait for abort, then clean up */
   CloseDevice((struct IORequest *)ParallelIO);