Plug-and-Play
Resources
In the past, you could get the official Plug-and-Play documentation from the Microsoft FTP site at ftp://ftp.microsoft.com/developr/drg/Plug-and-Play/Pnpspecs/, however it is down since late 2015. These documents were self-extracting MS-Word files describing the industry (MS) specifications for PNP on BIOS, SCSI, Peripherals, etc...
An older version of the above is archived here: https://web.archive.org/web/20180116205211/http://ftpmirror.your.org/pub/misc/ftp.microsoft.com/developr/drg/Plug-and-Play/Pnpspecs/
You can combine that with the links on this page from Microsoft circa 2003: https://web.archive.org/web/20030207142304/http://www.microsoft.com:80/hwdev/tech/PnP/default.asp
Craig Hart has a good page on PNP programming at http://web.archive.org/web/20080829130750/http://members.datafast.net.au/dft0802 (archive of http://members.datafast.net.au/dft0802/)
You could also check out http://linux-sxs.org/programming/interfac.html