As with all devices, you must close the trackdisk device when you have finished using it. To release the device, a closedevice() call is executed with the same ioexttd used when the device was opened. this only closes the device and makes it available to the rest of the system. It does not deallocate the ioexttd structure. CloseDevice((struct IORequest *)DiskIO);