Результаты поиска
Узнайте, какой процесс имеет эксклюзивную блокировку на дескрипторе устройства USB
У меня есть библиотека, которая читает / записывает на устройство USB, используя CreateFile() API. Устройство реализует профиль HID-device, так что оно совместимо с драйвером класса Microsoft HID.
Некоторые другие приложения, установленные в системе, открывают устройство в режиме чтения / записи без режима общего доступа. Что мешает моей библиотеке (и всему, что ее потребляет) работать с устройством. Я полагаю, что это проблема с тем, чтобы быть 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. Но я не могу заставить его сообщать об использовании дескрипторов файлов устройств, подобных перечисленным выше.
Абстракция против сокрытия информации против инкапсуляции
Можете ли вы сказать мне, в чем разница между абстракцией и сокрытием информации в разработке программного обеспечения?
Я в замешательстве. Абстракция скрывает детализацию реализации и информация, скрывающая абстрактные целые детали чего-то.
Update: я нашел хороший ответ для этих трех концепций. Смотрите отдельный ответ ниже для нескольких цитат, взятых оттуда .
636   20   07:05, 10th August, 2020