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.
Ustawienia sterowników urządzenia audio mogą być często zachowywane w ramach uaktualnień systemu operacyjnego. Po uaktualnieniu celem jest przeniesienie ustawień użytkownika do przodu, a także upewnienie się, że punkty końcowe audio dokładnie odzwierciedlają możliwości systemu operacyjnego i sterownika.
Proces migracji punktu końcowego audio
Podczas uaktualniania systemu operacyjnego może zostać uruchomiony proces migracji punktu końcowego audio. Ten proces próbuje przenieść jak najwięcej informacji, gdy jest to bezpieczne. Podczas opracowywania sterownika audio należy pamiętać o tych aspektach migracji.
Ten proces migracji punktu końcowego może działać w następujących sytuacjach.
- Aktualizacja systemu operacyjnego.
- Aktualizacje sterownika audio. Obejmuje to zainstalowanie sterownika rozszerzenia audio lub obiektu AudioProcessingObject. Aby uzyskać więcej informacji, zobacz Creating a componentized audio driver installation (Tworzenie składnika instalacji sterownika audio).
- Istniejący sterownik audio zostanie ponownie zainstalowany. Ta ponowna instalacja może wystąpić po uruchomieniu narzędzia do rozwiązywania problemów z dźwiękiem. Może to również wystąpić za pośrednictwem menedżera urządzeń, poprzez wybranie opcji "aktualizacja sterownika" i wybranie sterownika, który jest już zainstalowany.
- AudioEndpointBuilder jest serwisowany. Dzieje się tak za każdym razem, gdy w usłudze AudioEndpointBuilder zostanie naprawiona usterka, która jest aktualizowana w wydanych wersjach systemu Windows.
- Wersja oprogramowania układowego sterownika audio USB została zmieniona.
- Sterownik audio zmienia konfigurację punktu końcowego za pośrednictwem KSPROPERTY_JACK_DESCRIPTION3.
Proces migracji punktu końcowego audio
Proces migracji punktu końcowego audio wykonuje następujące czynności.
- Kopiuje właściwości punktu końcowego kontrolowanego przez użytkownika.
- Przenosi właściwości CAPX dalej.
Proces migracji punktu końcowego audio nie wykonuje żadnej z poniższych czynności.
- Nie kopiuje właściwości FXProperties przed dostępnością CAPX w systemie Windows 11.
- Nie kopiuje właściwości do przodu, które nie znajdują się na liście ustawień użytkownika znanych systemowi operacyjnemu.
Począwszy od systemu Windows 11, nowa struktura ustawień "CAPX" służy do przechowywania ustawień. Framework ustawień umożliwia APO udostępnianie metod do wykonywania zapytań i modyfikowania magazynu właściwości dla efektów dźwiękowych ("FX Property Store") na końcówce audio. Aby uzyskać więcej informacji, zobacz Interfejsy API systemu Windows 11 dla obiektów przetwarzania audio.
Dopasowywanie punktów końcowych przed uaktualnieniem do punktów końcowych po uaktualnieniu
Proces migracji dopasowuje punkty końcowe sprzed uaktualnienia do punktów końcowych po uaktualnieniu, używając tych dwóch elementów.
- Identyfikator sprzętu — aby uzyskać więcej informacji na temat identyfikatora sprzętu, zobacz System-Wide unikatowych identyfikatorów urządzeń.
- Ciąg odwołania — użycie ciągu odwołania zostało omówione poniżej.
Należy pamiętać, że ponieważ tworzone są nowe punkty końcowe, buforowanie identyfikatorów mmdevice nie będzie działać podczas procesu migracji punktu końcowego.
Zarejestrowane urządzenie podrzędne
Funkcja PcRegisterSubdevice sterownika klasy portów rejestruje urządzenie podrzędne, które jest postrzegane jako urządzenie przez resztę systemu. Funkcja rejestruje wystąpienie interfejsu urządzenia dla obiektu filtru, który reprezentuje podurządzenie na adapterze dźwiękowym. Menedżer we/wy dołącza ciąg określony przez parametr Name do ciągu odwołania używanego do identyfikowania wystąpienia. Zmodyfikowany ciąg odwołania jest przydatny do rozróżniania między urządzeniami podrzędnymi w adapterze audio. Aby uzyskać więcej informacji na temat ciągów referencyjnych, zobacz IoRegisterDeviceInterface.
Użycie ciągu referencyjnego
Punkty końcowe audio są identyfikowane przez ciąg referencyjny przekazany do pnP podczas tworzenia interfejsu KS wraz z identyfikatorem pinu dla łącznika zewnętrznego. Zmiana tych wartości spowoduje utworzenie nowego punktu końcowego dźwięku. Ten nowy punkt końcowy audio nie będzie zawierać ustawień użytkownika skojarzonych z poprzednim ciągiem odwołania i identyfikatorem pin łącznika.
W przypadkach, gdy identyfikator sprzętu jest taki sam dla co najmniej dwóch zainstalowanych urządzeń audio, a ciągi referencyjne również są identyczne, system migracji nie będzie mógł prawidłowo przenieść ustawień ze względu na brak możliwości dopasowania punktów końcowych przed migracją do punktów końcowych po migracji.
Zainstalowanie wielu kopii tego samego głównego wyliczonego oprogramowania audio na wszystkich wersjach systemu Windows, które używają tego samego identyfikatora sprzętu i ciągów referencyjnych, nie zostanie poprawnie zmigrowane.
Przed systemem Windows 11
W przypadku wyliczonych programowo głównych urządzeń audio w systemach wcześniejszych niż Windows 11, punkty końcowe audio z tymi samymi wartościami ciągu odniesienia nie będą prawidłowo migrować.
Podczas tworzenia głównego wyliczonego urządzenia audio oprogramowania przeznaczonego dla wersji systemu Windows wcześniejszych niż Windows 11 należy użyć unikatowej wartości ciągu referencyjnego dla każdego punktu końcowego audio w celu zapewnienia pomyślnej migracji.
Windows 11 i nowsze
Wyliczone jako główne urządzenia audio oprogramowania na systemach Windows 11 oraz późniejszych, pozbawione identyfikatora sprzętu, punkty końcowe audio o tych samych wartościach ciągu odwołania nie zostaną poprawnie przeniesione.
Podczas tworzenia wyliczonego od korzenia urządzenia dźwiękowego oprogramowania przeznaczonego dla wersji systemu Windows powyżej Windows 11 należy określić unikatowy identyfikator sprzętu w pliku .inf sterownika, a każde wyliczone od korzenia urządzenie dźwiękowe oprogramowania może być zainstalowane tylko raz z tym identyfikatorem sprzętu. Aby zainstalować wiele kopii tego samego sterownika, należy użyć różnych ciągów referencyjnych w każdej instalacji, aby zapewnić pomyślną migrację.
Reguły ciągów referencyjnych
Zdecydowanie zaleca się, aby nie używać domyślnych ciągów referencyjnych "wave" i "topo", które są stosowane w sterownikach próbek audio. Zamiast tego należy użyć bardziej opisowych ciągów referencyjnych. Sterowniki, które używają domyślnych ciągów referencyjnych, ryzykują utratę swoich danych migracji lub ich zastosowanie do niewłaściwego urządzenia w przypadku, gdy identyfikator sprzętu jest niedostępny lub pasuje do identyfikatora przypisanego innemu sterownikowi używającemu tych ciągów referencyjnych. Rozsądna strategia będzie podobna do "ContosoSoftwareRender-output2". Dołączenie unikatowej nazwy dostawcy pomaga doprecyzować ciąg referencyjny.
Ciągi referencyjne muszą pozostać statyczne dla instalacji sterownika audio, aktualizacji, aktualizacji systemu operacyjnego, ponownych rozruchów itp. Jeśli ciąg odwołania ulegnie zmianie, zostanie utworzony nowy punkt końcowy audio, a ustawienia użytkownika nie zostaną skopiowane z poprzedniego punktu końcowego do nowego punktu końcowego.
Nazwa instancji urządzenia Identyfikatora sprzętu
Identyfikator sprzętu sterownika audio jest zdefiniowany w sekcji Modele pliku INF. Identyfikator sprzętu identyfikuje co najmniej jedno urządzenie i odwołuje się do sekcji DDInstall pliku INF dla tego urządzenia. Określa również identyfikator sprzętu (ID), który jest unikatowy dla sekcji modelu, dla tego urządzenia. Aby uzyskać więcej informacji, zobacz sekcję Modele INF i sekcję INF DDInstall.
Ten plik INF przedstawia opis urządzenia z sekcji DDInstall w przykładowym pliku audio Sysvad.
[SYSVAD.NT$ARCH$]
%SYSVAD_SA.DeviceDesc%=SYSVAD_SA, Root\sysvad_ComponentizedAudioSample
SYSVAD_SA.DeviceDesc="Virtual Audio Device (WDM) - Tablet Sample"
Ten plik INF przedstawia sposób dostosowywania opisu urządzenia przez producenta OEM.
[CONTOSO.NT$ARCH$]
%CONTOSO_SA.DeviceDesc%=CONTOSO_SA, Root\contoso_ContosoSoftwareRender
CONTOSO_SA.DeviceDesc="Description of the Contoso Software Render Driver"
Identyfikator sprzętu, który zostanie dopasowany przez AudioEndpointBuilder, to Root\contoso_ContosoSoftwareRender
Ustawienia przechowywane w rejestrze
Sterownik adaptera audio może śledzić bieżące ustawienia urządzenia (głównie poziomy głośności i ustawienia wyciszenia) w rejestrze systemowym. Sterownik zazwyczaj przechowuje te ustawienia w kluczu sterownika dostarczonym przez system (reprezentowanym przez słowo kluczowe INF HKR) w podkluczu "Ustawienia". Gdy użytkownik zmieni te ustawienia za pomocą panelu sterowania lub innej aplikacji audio, sterownik aktualizuje odpowiednie wpisy rejestru. Za każdym razem, gdy system się uruchamia, sterownik przywraca ustawienia urządzenia z rejestru.
Użytkownicy w dużej mierze wolą to zachowanie, ponieważ zachowuje zmiany wprowadzone w systemie w czasie zamiast wymuszać na nich ręczne przywracanie ustawień za każdym razem, gdy uaktualniają system operacyjny.
Jednak niektóre sterowniki w sposób ślepy zastępują te ustawienia wartościami domyślnymi za każdym razem, gdy są zainstalowane. Lepszym podejściem dla sterownika jest określenie podczas instalacji, czy niektóre wpisy specyficzne dla sterownika już istnieją. Jeśli istnieją, sterownik powinien zachować ustawienia zawarte w tych wpisach zamiast zastępować je.
Dyrektywy w sekcji add-registry pliku INF sterownika określają, czy istniejące wpisy rejestru powinny zostać zastąpione. Aby uzyskać więcej informacji, zobacz opis flagi FLG_ADDREG_NOCLOBBER w dyrektywie INF AddReg.
Zobacz też
zasady projektowania DCH i najlepsze rozwiązania
Interfejsy API systemu Windows 11 dla obiektów przetwarzania audio