UMDF- блокировка устройства на уровне приложения

Я пишу простой драйвер USB для нашего устройства, используя UMDF поверх WinUsb. Драйвер может использоваться несколькими приложениями одновременно. Мне нужно создать собственную систему блокировки, которую WdfDeviceLevel\WdfObjectLevel не дает мне: я хочу атомарную функцию записи-чтения:

  1. получить блокировку на устройстве
  2. написать значение
  3. читать значение
  4. снять замок

Как я могу реализовать такую ​​функцию? Я не мог найти, как выставить пользовательскую функцию поверх функций интерфейса. В дополнение к этой конкретной элементарной функции было бы неплохо, если бы я мог дать каждому приложению возможность получить блокировку, которая заблокирует доступ всех других приложений к устройству.

1 ответ

Решение

Поскольку доступ к используемому нами драйверу возможен только через выделенную dll, я добавил блокировки мьютекса на уровне dll для имитации атомарной функции.

Другие вопросы по тегам