conductores virtual con Windows Driver Model - por dónde empezar?
Pregunta
Nunca he escrito antes de los conductores, pero estoy empezando un proyecto de código abierto que implica la creación de puertos MIDI virtuales que enviarán los datos MIDI a través de una red.
Para esto, supongo que sería la creación de una especie de controlador virtual usando WDM (a menos que sea posible con el núcleo ganchos?) -. Pero siendo un principiante para el desarrollo de controladores que no sé por dónde empezar
¿Alguien sabe alguna recursos útiles que me ayuden con este proyecto? O un código de fuente abierta de un proyecto similar que podría desembolsar como punto de partida?
Solución
controladores de Windows MIDI no necesitan ser implementadas en el núcleo, que pueden ser implementadas en su totalidad en el espacio de usuario como DLL.
MSDN tiene alguna información acerca de las funciones que necesita para implementar - mensajes de dispositivo de audio MIDI para - por desgracia que es un poco deficiente.
Hay que solía ser código de ejemplo para este tipo de controlador, como parte de la NT4 DDK, pero en las versiones más recientes del DDK / WDK lamentablemente no incluyen lo más.
Algunos mejor (aunque más) documentación y código de ejemplo podemos encontrar aún después de buscar:
Otros consejos
Consulte el proyecto Dokan, que está haciendo algo similar (pero con un archivo sistema controlador virtual).
Cuando se desea crear un nuevo archivo sistema en Windows, por ejemplo, para mejorar la FAT o NTFS, es necesario desarrollar un controlador de sistema de archivos.
El desarrollo de un controlador de dispositivo que funciona en modo de núcleo en Windows es extremadamente difficult.By usando la biblioteca Dokan, se pueden crear sus propios sistemas de archivos muy fácilmente sin necesidad de escribir controlador de dispositivo.
Dokan Biblioteca es similar al fusible (Linux sistema de archivos de usuario modo), pero las obras de Ventanas.
Aquí es buena recopilación de recursos en el desarrollo de controladores WDM bajo
Google tiamodisk ... un excelente ejemplo. de un controlador de minipuerto SCSI virtual. otro conductor virtual que conozco es "disco de archivos". si quieres tiamodisk puedo enviar por correo electrónico