Здравствуйте. Вот взялся программировать драйвер,и на некотором этапе возникла пара вопросов. Во-первых,надо бы выводить в лог на диск системное время.Но я максимум нашёл функцию KeQuerySystemTime(),которая выдаёт..немного не то,что надо. Преобразовывать из наносекундных отсчётов неохота. Была идея черпать прямо из CMOS-чипа,из регистров тех часов,что работают от батарейки,но тоже неохота.Долгие обращения. Что делать?Есть нормальные способы получить строку(в конечном итоге) с текущим временем? А во-вторых,ещё есть такая затея,что нумерация устройств типа \\Device\\SerialХХХ не та,что у ком-портов. У меня на материнке 1 ком(COM1),потом на USB кабеле(COM3),и на USBtoCOM(COM4). Так вот,COM->\\Device\\Serial0 COM4->\\Device\\Serial2 Я так понял(да и логично),что нумерация по порядку определения в системе. Как однозначно определить номер \\Device\\Serial по номеру ком-порта? Жду вашей помощи,заранее спасибо.
Ну а что надо то? они тебе дату и время и выдает. Перевести в локальное время можно через ExSystemTimeToLocalTime Для каждого ком порта создается симболическая ссылка \??\COMx Можно получить девайс на который она ссылается с помощью ZwOpenSymbolicLinkObject/ZwQuerySymbolicLinkObject а можно и ничего не получать, а работать с девайсом прямо через ссылку.
Если руки неподнимаются сделать такую элементарную весчь, то представляю с каким обломом ты пишешь свой драйвер.