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:

  1. ottenere una serratura della dispositivo
  2. scrivere un valore
  3. leggere un valore
  4. 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.

È stato utile?

Soluzione

Come conducente stiamo usando può accedere solo tramite una dll dedicato, ho aggiunto blocchi mutex nel livello dll di imitare una funzione atomica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top