Refus de la persistance au niveau du volume
Par défaut, les paramètres de niveau de volume sont conservés lorsque vous redémarrez votre ordinateur. Ce comportement système par défaut est appelé persistance du volume. Si vous ne souhaitez pas que les niveaux de volume soient gérés par le système après un redémarrage de l’ordinateur, vous pouvez utiliser un fichier INF au moment de l’installation de la carte audio pour désactiver le comportement système par défaut.
Vous souhaiterez peut-être que votre pilote refuse la persistance du volume si celui-ci disposait de son propre cache de Registre et définit les niveaux sur le matériel lui-même, sur la charge du pilote.
Pour refuser la persistance du volume à l’aide d’un fichier INF, utilisez la directive de Registre AddProperty pour définir la valeur de la clé de Registre PKEY_AudioDevice_DontPersistControls sur « 1 ». La valeur par défaut est « 0 ».
Le fragment de fichier INF suivant montre comment refuser la persistance du volume :
;; INF file fragment to show how to use AddProperty
;; to opt out of volume persistence
;;
[Version]
...
Class = MEDIA
ClassGUID = {4d36e96c-e325-11ce-bfc1-08002be10318}
...
[Manufacturer]
%MfgName% = CompanyName,NTamd64
...
[CompanyName.NTamd64]
%DeviceDescription% = HdAudModel, hw-id
;; ... other device models listed here
[HdAudModel]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration
CopyFiles = HdAudModel.CopyList, HdAudProp.CopyList, HdAudShortCut.CopyList
AddReg = HdAudModel.AddReg, HdAudProp.AddReg, HdAudShortCut.AddReg, HdAudBranding.AddReg
AddProperty = HdAudModel.AddProperty
...
[HdAudModel.AddProperty]
;; {F3E80BEF-1723-4FF2-BCC4-7F83DC5E46D4},2,7,,0
{F3E80BEF-1723-4FF2-BCC4-7F83DC5E46D4},2,7,,1
...
[Strings]
MfgName = "My Company Name Inc"
DeviceDescription = "My WDM device driver"
Note Le fragment de fichier INF précédent affiche uniquement la section Version et les sections pertinentes pour la directive AddProperty .
L’entrée de ligne %MfgName% = CompanyName dans la section Fabricant fait référence à la section CompanyName où le modèle et l’ID matériel (hw-id) de la carte audio sont fournis. Cette section d’un fichier INF, où des informations sur le modèle et hw-id sont fournies, est appelée section modèles. Le titre réel de la section est défini par l’utilisateur et, dans l’exemple précédent, il s’agit de CompanyName. Pour plus d’informations sur la section modèles d’un fichier INF, consultez section Inf Models.
La section modèles, à son tour, fait référence à la section d’installation du pilote de périphérique (DDInstall), où des informations sont fournies sur les autres fichiers INF que le programme d’installation doit copier. Le titre réel de cette section est défini par l’utilisateur et, dans l’exemple précédent, il s’agit de HdAudModel. Needs=KS. Enregistrement... l’entrée de ligne fournit des informations sur les sections spécifiques des fichiers INF, à partir desquelles le programme d’installation doit récupérer des données pour l’installation
La section HdAudModel contient également des références aux sections AddReg et AddProperty. Le programme d’installation récupère des données à partir de AddReg et AddProperty pour définir les clés de Registre et les propriétés de l’appareil respectivement. La section AddProperty référencée ici est HdAudModel.AddProperty et utilise le format suivant pour fournir des informations sur la propriété de l’appareil :
{property-category-guid}, property-pid, type, [flags], value
La section HdAudModel affiche deux entrées de ligne avec la première commentée. L’entrée de ligne qui est commentée définit la valeur de la propriété d’appareil sur « 1 ». L’entrée de ligne qui n’est pas commentée est celle que le programme d’installation lit. Cette entrée de ligne entraîne la définition de la valeur de la propriété d’appareil sur « 0 ». Lorsque cette propriété d’appareil est définie sur « 0 », le périphérique audio refuse la persistance du volume.
Pour plus d’informations sur la directive AddProperty, consultez Directive ADDProperty INF.
Le nom de propriété qui correspond au GUID de la catégorie de propriété et à l’ID de propriété dans le fragment de fichier INF précédent est PKEY_AudioDevice_DontPersistControls.