Udostępnij przez


Sterownik WaveRT Miniport

Sterownik miniportu WaveRT jest obsługiwany w systemach operacyjnych od Windows Vista wzwyż i zarządza funkcjami urządzenia audio zależnymi od sprzętu, takimi jak odtwarzanie (wave-rendering) lub nagrywanie (wave-capture). Urządzenie audio zgodne z WaveRT ma sprzęt Scatter/Gather DMA, który może przesyłać dane audio do dowolnej lokalizacji w pamięci fizycznej lub z niej.

Sterownik miniportu WaveRT musi implementować dwa interfejsy:

  • IMiniportWaveRT. Ten interfejs wykonuje inicjowanie sterowników miniportu, wyliczenie kanału i tworzenie strumienia.

  • IMiniportWaveRTStream. Ten interfejs zarządza strumieniem falowym i uwidacznia większość funkcji sterownika miniportu.

Aby uzyskać informacje o sposobie projektowania sterownika miniportu WaveRT, który uzupełnia sterownik portu WaveRT, zobacz temat Developing a WaveRT Miniport Driver (Opracowywanie sterownika miniportu WaveRT ).

IMiniportWaveRT

Interfejs IMiniportWaveRT udostępnia następujące metody:

IMiniportWaveRT::Init

Inicjuje obiekt miniportu.

IMiniportWaveRT::NewStream

Tworzy nowy obiekt strumienia.

IMiniportWaveRT::GetDeviceDescription

Zwraca wskaźnik do struktury DEVICE_DESCRIPTION opisującej urządzenie.

IMiniportWaveRTStream

Interfejs IMiniportWaveRTStream dziedziczy metody z interfejsu IUnknown . Usługa IMiniportWaveRTStream udostępnia następujące dodatkowe metody:

IMiniportWaveRTStream::AllocateAudioBuffer Przydziela bufor cykliczny dla danych dźwiękowych.

IMiniportWaveRTStream::FreeAudioBuffer

Zwalnia bufor audio przydzielony wcześniej za pomocą wywołania elementu IMiniportWaveRTStream::AllocateAudioBuffer.

IMiniportWaveRTStream::GetClockRegister

Pobiera informacje, które sterownik portu musi mieć, aby udostępnić rejestr zegara dla podsystemu audio i jego klientów.

IMiniportWaveRTStream::GetHWLatency

Pobiera informacje o źródłach opóźnienia strumienia na sprzęcie audio.

IMiniportWaveRTStream::GetPosition

Pobiera bieżącą pozycję odtwarzania lub nagrywania jako przesunięcie bajtu od początku buforu.

IMiniportWaveRTStream::GetPositionRegister

Pobiera informacje, które sterownik portu musi ujawnić, aby zarejestrować pozycję w podsystemie audio i jego klientach.

IMiniportWaveRTStream::SetFormat

Ustawia format danych strumienia falowego.

IMiniportWaveRTStream::SetState

Zmienia stan transportu strumienia audio.