Я только недавно начал программировать в режиме ядра, поэтому мой вопрос может показаться нескольоко некорректным.
Есть устройство не PnP, которое подключается к разным шинам(например LPT и COM). Чтобы определить есть оно или нет нужно послать определенную последовательность символов. Я открываю устройство (COM или LPT) с помощью ZwCreateFile, далее записываю нужную последовательность символов с помощью ZwWriteFile(), но СOM порт нужно настроить на нужные Baud rate, четность, и длину слова.