У меня есть библиотека, которая читает/записывает на USB-устройство, используя API CreateFile(). Устройство реализует профиль HID-устройства, так что он совместим с драйвером класса HID от Microsoft.Узнайте, какой процесс имеет исключительную блокировку на ручке устройства USB
Некоторые другие приложения, установленные в системе, открывают устройство в режиме чтения/записи без совместного использования. Что мешает моей библиотеке (и тому, что ее потребляет) работать с устройством. Я полагаю, что это трение, являющееся HID-совместимым устройством - другое программное обеспечение драйвера (мыши, контроллеры, PHIDGETS и т. Д.) Может быть несовместимым.
Во всяком случае, файл устройства путь имеет вид:
1: "\\?\hid#hpqremhiddevice&col01#5&21ff20e7&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}". 2: "\\?\hid#vid_045e&pid_0023#7&34aa9ece&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}". 3: "\?\hid#vid_056a&pid_00b0&col01#6&5b05f29&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}".
И я пытаюсь открыть его с помощью кода, как:
// First, open it with minimum permissions, this device may not be ours.
// we'll re-open it later in read/write
hid_device_ref = CreateFile(
device_path, GENERIC_READ,
0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
Я рассмотрел инструмент, как FileMon или Process Monitor от SysInternals. Но я не могу заставить его сообщать об использовании в ручках файлов устройств, подобных перечисленным выше.
Это то, что вам нужно: [Изучить информацию о примитивах уровня системы Windows NT] (http://www.codeguru.com/cpp/wp/system/processesmodules/article.php/c2827/Examine-Information-on- Windows, NT-System-Level-Primitives.htm) – 2015-07-03 12:19:07