MIDI ミニポート ドライバーは、ハードウェア シーケンスやダウンロード可能なサウンド (DLS) などの高度な機能がない単純な MIDI デバイスのハードウェアに依存する機能を管理します。 MIDIポートドライバは、シンセサイザーへのMIDIメッセージの配信のタイミングを処理します。 MIDI ミニポート ドライバーは、ポート ドライバーからの要求に応じてシンセサイザーに MIDI メッセージを転送する役割のみを担います。 高度な MIDI 機能を備えたデバイスでは、代わりに DMus ミニポート ドライバー を使用する必要があります。
MIDI ミニポート ドライバーは、次の 2 つのインターフェイスを実装する必要があります。
ミニポート インターフェイスは、ミニポート オブジェクトを初期化し、MIDI ストリームを作成します。
ストリーム インターフェイスは MIDI ストリームを管理し、ミニポート ドライバーの機能のほとんどを公開します。
ミニポート インターフェイス IMiniportMidi は、 IMiniport インターフェイスのメソッドを継承します。 IMiniportMidi には、次の追加メソッドが用意されています。
ミニポート オブジェクトを初期化します。
新しいストリーム オブジェクトを作成します。
ミニポート ドライバーにサービスの要求を通知します。
ストリーム インターフェイス IMiniportMidiStream は、 IUnknown インターフェイスのメソッドを継承します。 IMiniportMidiStream には、次の追加メソッドが用意されています。
MIDI キャプチャ デバイスから入力データを読み取ります。
IMiniportMidiStream::SetFormat
MIDI ストリームのデータ形式を設定します。
MIDI ストリームの状態を設定します。
MIDI シンセサイザーに出力データを書き込みます。
MIDI ポート ドライバーは、双方向のすべてのタイミングの問題を処理し、 IMiniportMidiStream の読み取りおよび書き込みメソッドへのポート ドライバーの呼び出しに応答して、アダプターのオンとオフにデータを迅速に移動するミニポート ドライバーに依存します。
PortCls には、FM シンセと UART 関数を持つ MIDI デバイス用の組み込みの MIDI ミニポート ドライバーが含まれています。 詳細については、「 PcNewMiniport」を参照してください。