Добрый Вечер! Подскажите пожалуйста, как открыть из своего драйвера стандартный драйвер COM-порта (я пробую это сделать с помощью ZwCreateFile). Вчастности, меня интерисует вопрос: что передавать в качестве названия файла (ObjectName). Я пробовал и "COM1", и "\\Device\\serial0" и д.п. не открывает =0(
<font color="gray][ Ant123</font><!--color--><font color="gray]: Подскажите пожалуйста, как открыть из своего драйвера стандартный драйвер COM-порта (я пробую это сделать с помощью ZwCreateFile). ]</font><!--color--> В общем случае, лучше для этих целей юзать IoGetDeviceObjectPointer. <font color="gray][ Ant123</font><!--color--><font color="gray]: Вчастности, меня интерисует вопрос: что передавать в качестве названия файла ]</font><!--color--> Имя объекта "устройство": "\Device\Xxx", "\FileSystem\Xxx"... или имя символьной ссылки на девайс или имя символьной ссылки на интерфейс девайса. <font color="gray][ Ant123</font><!--color--><font color="gray]: не открывает =0( ]</font><!--color--> И не откроет. DDK: "A COM port is an exclusive device; only one file can be open on a port at any given time." ZwCreateFile и IoGetDeviceObjectPointer шлет IRP_MJ_CREATE, а так как этот объект эксклюзивный, то драйвер возвращает STATUS_ACCESS_DENIED.
"\\Device\\serial0" по сути правильно. А вот дальше я бы поинтересовался NTSTATUS'ом и попросил продемонстрировать код, использующий ZwCreateFile вместе с InitializeObjectAttributes. Кроме того, стоит убедиться, что serial.sys уже загружен.