Condividi tramite


Aggiornamenti del sistema operativo

Le impostazioni del driver di un dispositivo audio possono essere mantenute spesso tra gli aggiornamenti del sistema operativo. Dopo l'aggiornamento, l'obiettivo è spostare le impostazioni utente in avanti, garantendo anche che gli endpoint audio riflettano in modo accurato le funzionalità del sistema operativo e del driver.

Processo di migrazione dell'endpoint audio

Durante gli aggiornamenti del sistema operativo, un processo di migrazione del punto finale audio può essere eseguito. Questo processo tenta di spostare la maggior parte delle informazioni in avanti che è sicuro per farlo. Man mano che si sviluppa il driver audio, tenere presente questi comportamenti di migrazione.

Questo processo di migrazione degli endpoint può essere eseguito nelle situazioni seguenti.

  • Aggiornamento del sistema operativo.
  • Aggiornamenti del driver audio. Ciò include l'installazione di un driver di estensione audio o di un AudioProcessingObject. Per altre informazioni, vedere Creazione di un'installazione di driver audio componenti.
  • Il driver audio esistente viene reinstallato sul posto. Questa reinstallazione può verificarsi quando viene eseguito lo strumento di risoluzione dei problemi audio. Ciò può verificarsi anche tramite gestione dispositivi eseguendo un "driver di aggiornamento" e selezionando il driver già installato.
  • AudioEndpointBuilder è in servizio. Ciò si verifica ogni volta che si verifica una correzione di bug nel servizio AudioEndpointBuilder aggiornato nelle versioni rilasciate di Windows.
  • La revisione del firmware in un driver audio USB viene modificata.
  • Il driver audio modifica la configurazione dell'endpoint tramite KSPROPERTY_JACK_DESCRIPTION3.

Processo di migrazione dell'endpoint audio

Il processo di migrazione dell'endpoint audio esegue le operazioni seguenti.

  • Copia le proprietà degli endpoint controllati dall'utente.
  • Copia le proprietà CAPX in avanti.

Il processo di migrazione dell'endpoint audio non esegue alcuna delle operazioni seguenti.

  • Non copia FXProperties prima della disponibilità di CAPX con Windows 11.
  • Non copia proprietà che non sono nell'elenco delle impostazioni utente note al sistema operativo.

A partire da Windows 11, viene usato un nuovo framework di impostazioni "CAPX" per archiviare le impostazioni. Settings Framework consente alle API di esporre metodi per eseguire query e modificare l'archivio delle proprietà per gli effetti audio ("Fx Property Store") in un endpoint audio. Per altre informazioni, vedere API Windows 11 per oggetti di elaborazione audio.

Corrispondenza degli endpoint di pre-aggiornamento per il post-aggiornamento degli endpoint di aggiornamento

Il processo di migrazione corrisponde agli endpoint di pre-aggiornamento per pubblicare gli endpoint di aggiornamento usando questi due elementi.

Si noti che poiché i nuovi endpoint vengono creati, la memorizzazione nella cache dell'ID mmdevice non funzionerà durante il processo di migrazione del punto finale.

Subdevice registrato

La funzione PcRegisterSubdevice del driver della classe di porta registra il sottodevice, che viene percepito come dispositivo dal resto del sistema. La funzione registra l'istanza dell'interfaccia del dispositivo per un oggetto filtro che rappresenta un sottodevice in una scheda audio. Gestione I/O aggiunge la stringa specificata dal parametro Name alla stringa di riferimento usata per identificare l'istanza. La stringa di riferimento modificata è utile per distinguere tra i sottodispositivi nella scheda audio. Per altre informazioni sulle stringhe di riferimento, vedere IoRegisterDeviceInterface.

Utilizzo della stringa di riferimento

Gli endpoint audio vengono identificati dalla stringa di riferimento passata a PnP quando è stata creata l'interfaccia KS, insieme all'ID pin per il connettore esterno. La modifica di questi valori causerà la creazione di un nuovo endpoint audio. Questo nuovo endpoint audio non conterrà le impostazioni utente associate alla stringa di riferimento precedente e all'ID pin del connettore.

Nei casi in cui l'ID hardware è lo stesso tra due o più dispositivi audio installati e le stringhe di riferimento sono identiche, il sistema di migrazione non sarà in grado di eseguire la migrazione correttamente a causa della mancata corrispondenza degli endpoint da prima della migrazione agli endpoint dopo la migrazione.

L'installazione di più copie degli stessi dispositivi audio software enumerati radice in tutte le versioni di Windows, che usano tutti gli stessi ID hardware e stringhe di riferimento, non eseguirà correttamente la migrazione.

Prima di Windows 11

Per i dispositivi audio software enumerati radice nei sistemi prima di Windows 11, gli endpoint audio con gli stessi valori di stringa di riferimento non verranno migrati correttamente.

Quando si crea un dispositivo audio software enumerato radice che punta alle versioni di Windows prima di Windows 11, è necessario usare un valore di stringa di riferimento univoco per ogni endpoint audio per garantire una migrazione riuscita.

Windows 11 e versioni successive

I dispositivi audio software enumerati radice nei sistemi in e dopo Windows 11, senza un ID hardware, gli endpoint audio con gli stessi valori stringa di riferimento non verranno migrati correttamente.

Quando si crea un dispositivo audio software enumerato radice destinato alle versioni di Windows dopo Windows 11, è necessario specificare un ID hardware univoco nel driver inf e ogni dispositivo audio software enumerato radice può essere installato solo una sola volta con tale ID hardware. Per installare più copie dello stesso driver, è necessario usare stringhe di riferimento diverse in ogni installazione per garantire un esito positivo della migrazione.

Regole di stringa di riferimento

È consigliabile non usare le stringhe di riferimento "wave" predefinite e "topo" usate nei driver di esempio audio. È consigliabile usare invece stringhe di riferimento più descrittive. I driver che usano le stringhe di riferimento predefinite hanno un rischio di perdere o applicare i dati di migrazione al dispositivo errato nel caso in cui un ID hardware non sia disponibile o corrisponda ad altri driver usando queste stringhe di riferimento. Una strategia ragionevole sarebbe simile a "ContosoSoftwareRender-output2". L'inclusione di un nome fornitore univoco consente di disambiguare la stringa di riferimento.

Le stringhe di riferimento devono rimanere statiche per l'installazione del driver audio, gli aggiornamenti, gli aggiornamenti del sistema operativo, i riavvii e così via. Se la stringa di riferimento cambia, verrà creato un nuovo endpoint audio e le impostazioni utente non verranno copiate dall'endpoint precedente al nuovo endpoint.

Nome dell'istanza del dispositivo ID hardware

L'ID hardware del driver audio è definito nella sezione Modelli del file INF. L'ID hardware identifica almeno un dispositivo e fa riferimento alla sezione DDInstall del file INF per tale dispositivo. Specifica anche un identificatore hardware (ID) univoco per il dispositivo. Per altre informazioni, vedere la sezione Modelli INF e la sezione INF DDInstall.

Questo file INF mostra la descrizione del dispositivo dalla sezione DDInstall nell'esempio di audio Sysvad.

[SYSVAD.NT$ARCH$]
%SYSVAD_SA.DeviceDesc%=SYSVAD_SA, Root\sysvad_ComponentizedAudioSample

SYSVAD_SA.DeviceDesc="Virtual Audio Device (WDM) - Tablet Sample"

Questo file INF mostra la modalità di personalizzazione della descrizione del dispositivo da parte di un OEM.

[CONTOSO.NT$ARCH$]
%CONTOSO_SA.DeviceDesc%=CONTOSO_SA, Root\contoso_ContosoSoftwareRender

CONTOSO_SA.DeviceDesc="Description of the Contoso Software Render Driver"

L'ID hardware che AudioEndpointBuilder corrisponderà a sarebbe Root\contoso_ContosoSoftwareRender

Impostazioni archiviate nel Registro di sistema

Un driver dell'adattatore audio può tenere traccia delle impostazioni correnti del dispositivo (principalmente livelli di volume e impostazioni di disattivazione) nel Registro di sistema. Il driver archivia in genere queste impostazioni nella chiave driver fornita dal sistema (rappresentata dalla parola chiave INF HKR) nella sottochiave "Impostazioni". Quando l'utente modifica queste impostazioni tramite un pannello di controllo o un'altra applicazione audio, il driver aggiorna le voci appropriate del Registro di sistema. Ogni volta che il sistema viene avviato, il driver ripristina le impostazioni del dispositivo dal Registro di sistema.

Gli utenti preferiscono in gran parte questo comportamento perché mantiene le modifiche apportate al sistema nel tempo anziché forzarle a tentare di ripristinare manualmente le impostazioni ogni volta che aggiornano il sistema operativo.

Alcuni driver, tuttavia, sovrascrivono in modo cieco queste impostazioni con le impostazioni predefinite ogni volta che vengono installate. Un approccio migliore è per un driver per determinare in fase di installazione se esistono già determinate voci specifiche del driver. Se esistono, il driver deve mantenere le impostazioni contenute in queste voci anziché sovrascriverle.

Le direttive nella sezione del Registro di sistema aggiuntivo del file INF del driver specificano se le voci del Registro di sistema esistenti devono essere sovrascritte. Per altre informazioni, vedere la descrizione del flag di FLG_ADDREG_NOCLOBBER nella direttiva INF AddReg.

Vedi anche

KSPROPERTY_JACK_DESCRIPTION3

DEVPKEY_Device_DeviceDesc

Sezione INF DDInstall

Principi e procedure consigliate per la progettazione DCH

API Windows 11 per oggetti di elaborazione audio