PKEY_AudioEngine_OEMPeriod

Le moteur audio Windows s’exécute à des intervalles prédéterminés, appelés périodicité du moteur audio. Dans Windows 7 et versions ultérieures de Windows, le moteur audio s’exécute avec une périodicité de 10 ms par défaut. Dans Windows 7, vous pouvez utiliser un fichier INF et une nouvelle clé de Registre, PKEY_AudioEngine_OEMPeriod, pour personnaliser la périodicité de votre pilote de périphérique audio. Il s’agit d’un paramètre par point de terminaison.

L’extrait suivant d’un fichier INF montre comment utiliser la directive INF AddReg pour personnaliser la périodicité d’un pilote de périphérique audio.

[Version]
Signature="$Windows NT$"
Class=MEDIA
ClassGuid={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%ExampleProvider%
CatalogFile=ExampleCatalog.cat
PnpLockdown=1

...

[USBAudio]
Include=ks.inf, wdmaudio.inf, wdma_usb.inf
Needs=KS.Registration, WDMAUDIO.Registration, USBAudio.CopyList, USBAudioOEM.AddReg

[USBAudio.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,"GLOBAL",USBAudio.Interface
AddInterface=%KSCATEGORY_RENDER%,"GLOBAL",USBAudio.Interface

[USBAudio.Interface]
AddReg=USBAudio.Interface.AddReg, OEMSettingsOverride.AddReg
...
;;
;; All EP\\0 entries in the same grouping
;;
;; Set default periodicity to 8ms
;;
;; 0x013880 == 80000 (HNSTIME) == 8ms
;;
[OEMSettingsOverride.AddReg]
HKR,"EP\\0", %PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\0", %PKEY_AudioEngine_OEMPeriod%, %REG_BINARY%, 41,00,63,00,08,00,00,00,80,38,01,00,00,00,00,00

[Strings]
ExampleProvider = "Example Provider"
PKEY_AudioEndpoint_Association = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_AudioEngine_OEMPeriod = "{E4870E26-3CC5-4CD2-BA46-CA0A9A70ED04},6"
REG_BINARY          = "0x00000001"

La périodicité est spécifiée en tant que VT_BLOB. Et la plage de périodicité valide est de 50000 à 90000 (5-9 ms) sur même 10000 limites d’unités HNSTIME (par exemple, 50000, 60000, 70000, 80000 ou 90000).

Dans l’extrait précédent d’un fichier INF, les données REG_BINARY suivantes sont fournies pour la personnalisation :

La périodicité de 8 ms est représentée dans les unités HNSTIME sous la forme 80000. En notation hexadécimale, cette valeur est représentée comme 0x013880. Lorsque cette valeur hexadécimale est écrite quatre bits (nibbles) à la fois, avec les bits les moins significatifs en premier, le résultat est 80,38,01. Il s’agit de la valeur fournie en tant que type de données REG_BINARY.

La périodicité est spécifiée en tant que type de données VT_BLOB. Cette valeur est représentée par une valeur décimale de 65. Au format hexadécimal, 65 est représenté par la valeur 41 et l’extrait de fichier INF précédent montre la séquence de données REG_BINARY avec sa première valeur 41.