Freigeben über


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 zu oder von einem beliebigen Ort im physischen Speicher übertragen kann.

Ein WaveRT-Miniporttreiber muss zwei Schnittstellen implementieren:

  • IMiniportWaveRT. Diese Schnittstelle führt miniport-Treiberinitialisierung, Kanalaufzählung und Datenstromerstellung 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 ".

IMiniportWaveRT

Die IMiniportWaveRT-Schnittstelle stellt die folgenden Methoden bereit:

IMiniportWaveRT::Init

Initialisiert das Miniportobjekt.

IMiniportWaveRT::NewStream

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 stellt die folgenden zusätzlichen Methoden bereit:

IMiniportWaveRTStream::AllocateAudioBuffer Weist einen zyklischen Puffer für Audiodaten zu.

IMiniportWaveRTStream::FreeAudioBuffer

Gibt einen zuvor mit einem Aufruf von IMiniportWaveRTStream::AllocateAudioBuffer zugewiesenen Audiopuffer frei.

IMiniportWaveRTStream::GetClockRegister

Ruft die Informationen ab, die der Porttreiber benötigt, um das Taktregister 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 Aufnahmeposition als Byte-Offset vom Anfang des Puffers ab.

IMiniportWaveRTStream::GetPositionRegister

Ruft die Informationen ab, die der Porttreiber benötigt, um das Positionsregister für das Audiosubsystem und seine Clients verfügbar zu machen.

IMiniportWaveRTStream::SetFormat

Legt das Datenformat des Wellenstroms fest.

IMiniportWaveRTStream::SetState

Ändert den Transportstatus des Audiodatenstroms.