Each opendevice() must eventually be matched by a call to closedevice().
All I/O requests must be complete before closedevice(). if any requests
are still pending, abort them with abortio().
if (!(CheckIO(TimerIO)))
{
AbortIO(TimerIO); /* Ask device to abort any pending requests */
}
WaitIO(TimerIO); /* Clean up */
CloseDevice((struct IORequest *)TimerIO); /* Close Timer device */