dispositivo di bloccaggio UMDF- a livello di applicazione
-
09-10-2019 - |
Domanda
Sto scrivendo un driver USB semplice per il nostro dispositivo utilizzando UMDF sopra WinUSB. Il driver può essere utilizzato per applicazioni multiple simultaneamente. Ho bisogno di realizzare un sistema di bloccaggio personalizzato che il WdfDeviceLevel \ WdfObjectLevel non mi dà: Voglio una funzione di scrittura-lettura atomica:
- ottenere una serratura della dispositivo
- scrivere un valore
- leggere un valore
- rilasciare il blocco
Come faccio a implementare tale funzione? Non riuscivo a trovare il modo di esporre funzione personalizzata in cima alle funzioni dell'interfaccia. Oltre a questa particolare funzione atomico, sarebbe bello se potessi dare ogni applicazione la possibilità di ottenere un blocco che possa bloccare tutte le altre applicazioni di accedere al dispositivo.
Soluzione
Come conducente stiamo usando può accedere solo tramite una dll dedicato, ho aggiunto blocchi mutex nel livello dll di imitare una funzione atomica.