In general, its a bad idea for the device to try to work out what the host is.
If you wrote a host driver, it could send the device a message telling it to enable or disable features. I've done this sort of thing, we had trouble with one particular host. I added a vendor specific command to the device, the host OSs added drivers to send that vendor specific command.
The vendor specific command did not identify the host, but directed the device to do the appropriate thing. In this case the problem was with power, so the command told the device to use more or less power as necessary. The command was general enough it solved the original problem and found a whole host of other uses. The device still doesn't care what OS the host is running, it just does as its told.
Writing a host driver is not a trivial exercise, particularly on Windows.