This function requests the device driver start processing the given I/O request.  The device will return control without waiting for the I/O to complete.
    The io_Flags field of the IORequest will be set to zero before the request is sent.  See BeginIO() for more details.
  
  
    Attempting to call SendIO() on an I/O request which is currently being processed is likely to result in undefined behaviour and may crash the system. If you must reuse an I/O request, check first with 
CheckIO() if it is not currently in use.