Pregunta

Estoy escribiendo un controlador USB simple para nuestro dispositivo usando UMDF sobre WinUsb. El conductor puede ser utilizado por aplicaciones múltiples al mismo tiempo. Necesito conseguir un sistema de bloqueo a medida que la WdfDeviceLevel \ WdfObjectLevel no me da: Quiero una función de lectura-escritura atómica:

  1. obtener un bloqueo en el dispositivo
  2. escribir un valor
  3. leer un valor
  4. liberar el bloqueo

¿Cómo se puede implementar una función de este tipo? No pude encontrar la manera de exponer función personalizada en la parte superior de las funciones de la interfaz. Además de esta función atómica en particular, sería bueno si pudiera dar a cada aplicación la posibilidad de obtener un bloqueo que bloqueará todas las otras aplicaciones accedan al dispositivo.

¿Fue útil?

Solución

Como el conductor estamos utilizando sólo se puede acceder a través de una DLL dedicado, agregó cerraduras de exclusión mutua en el nivel de DLL para imitar una función atómica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top