What is the cleanest way to pass data from device driver to windows service and back?
This is normally achieved using Device Input and Output Control (IOCTL).
You can define your own private control code and then send information in both directions. The function is called from user mode, i.e. the service in your case.