Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sterownik miniportu DMus zarządza funkcjami zależnymi od sprzętu zaawansowanych urządzeń MIDI. Te urządzenia obsługują funkcje DirectMusic, takie jak precyzyjne taktowanie sekwencera, dźwięki do ściągnięcia (DLS) i grupy kanałów. Sterowniki DMus miniport mogą osiągnąć wysoką wydajność z urządzeniami takimi jak MPU-401. Czas może być obsługiwany przez sterownik miniportu lub sterownik portu, w zależności od możliwości sprzętu. Sterownik miniportu DMus może również obsługiwać syntetyzator oprogramowania, który generuje strumień wyjściowy fali.
Sterownik miniportu DMus dla urządzenia sprzętowego MIDI powinien obsługiwać dwa interfejsy:
Interfejs miniportu inicjuje obiekt miniportu i tworzy strumienie MIDI.
Interfejs strumienia zarządza strumieniem MIDI i uwidacznia większość funkcji sterownika miniportu.
Interfejs miniportu IMiniportDMus dziedziczy metody w interfejsie IMiniport . IMiniportDMus udostępnia następujące dodatkowe metody:
Inicjuje obiekt miniportu.
Tworzy nowy obiekt strumienia.
Powiadamia sterownik miniportu o żądaniu obsługi.
Interfejs strumienia IMXF dziedziczy metody z interfejsu IUnknown. Program IMXF udostępnia następujące dodatkowe metody:
Łączy ten obiekt strumienia, który jest źródłem danych, z interfejsem IMXF innego obiektu strumienia, który jest ujściem danych.
Odłącza ten obiekt strumienia od interfejsu IMXF innego obiektu strumienia, który jest ujściem danych.
Przekazuje strukturę DMUS_KERNEL_EVENT do odbiornika danych.
Ustawia stan strumienia.
Ponadto interfejs ISynthSinkDMus sterownika miniportu DMus udostępnia funkcje DLS dla syntetyzatorów oprogramowania. ISynthSinkDMus dziedziczy metody w interfejsie podstawowym IMXF. ISynthSinkDMus udostępnia następujące dodatkowe metody:
ISynthSinkDMus::RefTimeToSample
Konwertuje czas odniesienia na czas próby.
Renderuje dane falowe do buforu dla odbiornika fali.
ISynthSinkDMus::SampleToRefTime
Konwertuje czas próby na czas odniesienia.
Synchronizuje zegar próbki z zegarem głównym.
Ujście fali sterownika portu wywołuje ISynthSinkDMus::Render , aby odczytać dane wave PCM generowane przez syntetyzator na podstawie strumienia wejściowego MIDI. Aby uzyskać więcej informacji na temat odbiornika fal, zobacz A Wave Sink for Kernel-Mode Syntezatory programowe.
Sterownik miniportu wywołuje następujące interfejsy w sterowniku portu DMus:
PortCls zawiera wbudowany sterownik miniportu DMus dla urządzenia MIDI z funkcją UART. Aby uzyskać więcej informacji, zobacz PcNewMiniport.