6

Windows プログラミング、MIDI、および WDM についてアドバイスが必要です。システム トレイに置かれ、MIDI プログラムが送信できるように MIDI イン/アウト デバイスとしてシステムにアドバタイズされ、メッセージを別の形式に変換する小さなアプリケーションを作成しようとしています。私は Cant の WDM の本を読んで、デバイス ドライバの作成に関する情報を精査してきましたが、正しい道を進んでいるかどうかはわかりません。方法はまだわかりません:-

a) ドライバを MIDI 対応として登録します (レジスタに ref を貼り付けて、OS に dll の機能への MIDI 呼び出しを指示させますか?)

b) ドライバーを介して MIDI データをアプリに送信します。これは、ドライバー自体には大きすぎる可能性があります。

どこから始めるべきかについてのアドバイスは大歓迎です。ありがとう、ピート

4

3 に答える 3

8

Windows MIDI ドライバーは、カーネルに実装する必要はありません。DLL としてユーザー空間に完全に実装できます。

MSDN には、実装する必要のある機能に関する情報がいくつかあります - MIDI のオーディオ デバイス メッセージ- 残念ながら、それはやや不足しています。

NT4 DDK の一部として、この種のドライバーのサンプル コードがありましたが、残念ながら、DDK / WDK の最近のリリースには含まれていません。

少し検索すれば、より優れた (ただし古い) ドキュメントとサンプル コードを見つけることができます。

于 2010-12-22T23:14:54.000 に答える
2

デバイスは、アプリケーションではなく、デバイス ドライバーによって列挙 (またはシミュレート) されます。システム トレイに表示されるのはアプリケーション アイコンです。したがって、ドライバーとアプリの両方が必要になります。コンパイルされたコードの 1 つのビットを両方として機能させることはできません。

ドライバー側では、おそらくMSDN docsを参照してください。これは、yopur の質問の (a) の部分に答えます。

それでも続行したい場合は、(b) アプリケーションにドライバーからデータをプルさせることをお勧めします。これは、その逆よりもはるかに簡単です。アプリケーションは簡単にドライバーを見つけることができますが、ドライバーは特定のアプリ (プロセス) を見つけるのに大きな問題を抱えています。

于 2010-07-01T13:48:54.207 に答える
0

もう少し簡単に始める方法を探しているなら、そこには MIDI ループバック ドライバーがあり、それを作っている人々は、プログラムがドライバーと直接通信できるようにするバージョンも提供しています (または提供していました)。 . これにより、プログラムが MIDI デバイスとして表示される、探している動作が得られます。ループバック ドライバーはhttp://nerds.de/en/loopbe1.htmlにあります。開発者ページはもう表示されていませんが、連絡を取れば、ループバックなしで直接アクセスできるドライバーのライセンスを購入できるかもしれません。

于 2010-07-13T21:30:59.247 に答える