Miniportschnittstellen
Wie unter Unterstützen eines Geräts beschrieben, stellt der PortCls-Systemtreiber eine Reihe von integrierten Porttreibern zum Verwalten von Wave- und MIDI-Geräten bereit. Um einen dieser Porttreiber zum Verwalten eines bestimmten Audiogerätetyps zu verwenden, muss der Adaptertreiber einen entsprechenden Miniporttreiber bereitstellen, der den Porttreiber ergänzt, indem alle hardwareabhängigen Funktionen des Geräts verwaltet werden.
In diesem Abschnitt werden die folgenden Miniporttreibertypen erläutert:
Ergänzt den WaveRT-Porttreiber, indem die hardwareabhängigen Funktionen eines Wellenrendering- oder Erfassungsgeräts verwaltet werden, das einen zyklischen Puffer für Audiodaten verwendet.
Ergänzt den Topologieporttreiber, indem die verschiedenen Hardwaresteuerelemente (z. B. Lautstärke) in der Mixerschaltung des Audioadapters verwaltet werden.
Ergänzt den MIDI-Porttreiber durch die Verwaltung der hardwareabhängigen Funktionen eines einfachen MIDI-Geräts.
Ergänzt den DMus-Porttreiber, indem die hardwareabhängigen Funktionen eines erweiterten MIDI-Geräts verwaltet werden.
Jeder Porttreiber implementiert eine IPortXxx-Schnittstelle , die er dem Miniporttreiber darstellt. Der Miniporttreiber muss wiederum eine IMiniportXxx-Schnittstelle implementieren, die der Porttreiber für die Kommunikation mit dem Miniporttreiber verwendet. Die folgende Tabelle zeigt die IPortXxx-Schnittstelle und die entsprechende IMiniportXxx-Schnittstelle für jeden Gerätetyp.
Gerätetyp | Porttreiberschnittstelle | Miniporttreiberschnittstelle |
---|---|---|
WaveCyclic |
||
WavePci |
||
WaveRT |
||
Topologie |
||
MIDI |
||
Directmusic |
In der obigen Tabelle werden alle IPortXxx-Schnittstellen von der Basisschnittstelle IPort abgeleitet, und alle IMiniportXxx-Schnittstellen werden von IMiniport abgeleitet.