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

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

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

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


person Eldad    schedule 14.11.2010    source источник


Ответы (1)


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

person Eldad    schedule 28.11.2010