pilotes virtuels avec Windows Driver Model - où commencer?
Question
Je ne l'ai jamais écrit des pilotes avant mais je commence un projet open-source qui implique la création de ports MIDI virtuels qui envoient les données MIDI sur un réseau.
Pour cela, je suppose que je serais en train de créer une sorte de pilote virtuel en utilisant WDM (à moins qu'il ne soit possible avec des crochets noyau?) -. Mais être un débutant au développement du pilote, je ne sais pas par où commencer
Quelqu'un sait-il des ressources utiles qui me aider avec ce projet? Ou un code open-source d'un projet similaire que je pouvais bifurquer comme point de départ?
La solution
Les pilotes Windows MIDI ne doivent pas être mises en œuvre dans le noyau, ils peuvent être entièrement mises en œuvre dans l'espace utilisateur DLLs.
MSDN a des informations sur les fonctions dont vous avez besoin pour mettre en œuvre - périphériques audio Messages MIDI pour - malheureusement il manque un peu.
Il y avait un exemple de code pour ce type de conducteur, dans le cadre du NT4 DDK, mais plus récentes de la DDK / WDK malheureusement ne comprennent pas plus.
Certains mieux (bien plus) la documentation et des exemples de code peuvent encore être trouvés après quelques recherches:
Autres conseils
Consultez la projet Dokan, il fait quelque chose de similaire (mais avec un fichier système de pilote virtuel).
Si vous voulez créer un nouveau fichier système sous Windows, par exemple améliorer FAT ou NTFS, vous devez développer un pilote de système de fichiers.
Le développement d'un pilote de périphérique qui fonctionne en mode noyau sur Windows est extrêmement difficult.By en utilisant la bibliothèque Dokan, vous pouvez créer vos propres systèmes de fichiers très facilement sans écrire pilote de périphérique.
Dokan Library est similaire à FUSE (Linux système de fichiers en mode utilisateur) mais fonctionne sur Windows.
google tiamodisk ... un excellent exemple. d'un pilote de miniport SCSI virtuel. un autre pilote virtuel que je sais est « FileDisk ». si tu veux tiamodisk je peux envoyer un courriel à