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