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