Открыть имя устройства с помощью CreateFile
Я работаю над простым драйвером устройства, который я хочу объединить с драйвером из пользовательского режима с помощью IRP.
у меня возникли проблемы с открытием драйвера устройства. Используя DeviceTree Я могу видеть имя устройства, например DeviceMyDevice.
но когда я пытаюсь открыть его так:
hand := CreateFile('DeviceMyDevice', GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Я всегда получаю INVALID_HANDLE_VALUE
и GetLastError is (система не может найти указанный путь)
что я делаю неправильно ? Я знаю, что водитель работает потому что я вижу, как он работает и печатает материал в DebugView. Есть советы ?
1 ответов
вот хорошее объяснение Тим Робинсон, MVP (Windows SDK):
имена вида
\Device\xxx
являются внутренними именами диспетчера объектов NT, которые недоступные на Win32. Вы сможете получить доступ к устройству, если он создает символическую ссылку на\Device\MyDevice
С