PKEY_AudioEngine_OEMPeriod
El motor de audio de Windows se ejecuta en intervalos predeterminados a los que se hace referencia como la periodicidad del motor de audio. En Windows 7 y versiones posteriores de Windows, el motor de audio se ejecuta con una periodicidad de 10 ms de forma predeterminada. En Windows 7, puedes usar un archivo INF y una nueva clave del Registro, PKEY_AudioEngine_OEMPeriod, para personalizar la periodicidad del controlador de dispositivo de audio. Se trata de una configuración por punto de conexión.
El siguiente extracto de un archivo INF muestra cómo usar la directiva AddReg inf para personalizar la periodicidad de un controlador de dispositivo de 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 periodicidad se especifica como VT_BLOB. Y el intervalo de periodicidad válido es 50000-90000 (5-9 ms) en incluso 10000 límites de unidad HNSTIME (por ejemplo, 50000, 60000, 70000, 80000 o 90000).
En el extracto anterior de un archivo INF, se proporcionan los siguientes datos REG_BINARY para la personalización:
La periodicidad de 8 ms se representa en unidades HNSTIME como 80000. En notación hexadecimal, este valor se representa como 0x013880. Cuando este valor hexadecimal se escribe cuatro bits (nibbles) a la vez, con bits menos significativos primero, el resultado es 80 38 01. Este es el valor que se proporciona como un tipo de datos REG_BINARY.
La periodicidad se especifica como un tipo de datos VT_BLOB. Esto se representa mediante un valor decimal de 65. En formato hexadecimal 65 se representa mediante el valor 41 y el extracto del archivo INF anterior muestra la secuencia de datos REG_BINARY con su primer valor de 41.