WaveRT Miniport-Treiber
Der WaveRT-Miniporttreiber wird in Windows Vista und späteren Windows-Betriebssystemen unterstützt und verwaltet die hardwareabhängigen Funktionen eines Wave-Rendering- oder Wave-Capture-Audiogeräts. Ein WaveRT-freundliches Audiogerät verfügt über Scatter/Gather-DMA-Hardware, die Audiodaten an oder von einem beliebigen Ort im physischen Speicher übertragen kann.
Ein WaveRT-Miniporttreiber muss zwei Schnittstellen implementieren:
IMiniportWaveRT. Diese Schnittstelle führt Miniporttreiberinitialisierung, Kanalenumeration und Streamerstellung durch.
IMiniportWaveRTStream. Diese Schnittstelle verwaltet einen Wellenstrom und macht die meisten Funktionen des Miniporttreibers verfügbar.
Informationen zum Entwerfen eines WaveRT-Miniporttreibers, der den WaveRT-Porttreiber ergänzt, finden Sie im Thema Developing a WaveRT Miniport Driver (Entwickeln eines WaveRT-Miniporttreibers ).
IMiniportWaveRT
Die IMiniportWaveRT-Schnittstelle bietet die folgenden Methoden:
Initialisiert das Miniportobjekt.
Erstellt ein neues Streamobjekt.
IMiniportWaveRT::GetDeviceDescription
Gibt einen Zeiger auf eine DEVICE_DESCRIPTION Struktur zurück, die das Gerät beschreibt.
IMiniportWaveRTStream
Die IMiniportWaveRTStream-Schnittstelle erbt die Methoden von der IUnknown-Schnittstelle . IMiniportWaveRTStream bietet die folgenden zusätzlichen Methoden:
IMiniportWaveRTStream::AllocateAudioBuffer Weist einen zyklischen Puffer für Audiodaten zu.
IMiniportWaveRTStream::FreeAudioBuffer
Gibt einen Audiopuffer frei, der zuvor mit einem Aufruf von IMiniportWaveRTStream::AllocateAudioBuffer zugeordnet wurde.
IMiniportWaveRTStream::GetClockRegister
Ruft die Informationen ab, die der Porttreiber benötigen, um das Uhrenregister für das Audiosubsystem und seine Clients verfügbar zu machen.
IMiniportWaveRTStream::GetHWLatency
Ruft Informationen zu Quellen der Streamlatenz in der Audiohardware ab.
IMiniportWaveRTStream::GetPosition
Ruft die aktuelle Wiedergabe- oder Datensatzposition als Byteoffset vom Anfang des Puffers ab.
IMiniportWaveRTStream::GetPositionRegister
Ruft die Informationen ab, die der Porttreiber benötigen, um das Positionsregister für das Audiosubsystem und seine Clients verfügbar zu machen.
IMiniportWaveRTStream::SetFormat
Legt das Datenformat des Wellendatenstroms fest.
IMiniportWaveRTStream::SetState
Ändert den Transportstatus des Audiodatenstroms.