Condividi tramite


PKEY_AudioEngine_OEMPeriod

Il motore audio di Windows viene eseguito a intervalli predeterminati definiti periodicità del motore audio. In Windows 7 e versioni successive di Windows, il motore audio viene eseguito con una periodicità di 10 ms per impostazione predefinita. In Windows 7 puoi usare un file INF e una nuova chiave del Registro di sistema, PKEY_AudioEngine_OEMPeriod, per personalizzare la periodicità per il driver di dispositivo audio. Si tratta di un'impostazione per endpoint.

Nell'estratto seguente di un file INF viene illustrato come usare la direttiva INF AddReg per personalizzare la periodicità per un driver di dispositivo 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 periodicità viene specificata come VT_BLOB. E l'intervallo di periodicità valido è 50000-90000 (5-9 ms) anche su 10000 limiti unità HNSTIME (ad esempio, 50000, 60000, 70000, 80000 o 90000).

Nell'estratto precedente da un file INF vengono forniti i seguenti REG_BINARY dati per la personalizzazione:

La periodicità di 8 ms è rappresentata in unità HNSTIME come 80000. Nella notazione esadecimale questo valore è rappresentato come 0x013880. Quando questo valore esadecimale viene scritto quattro bit (nibbles) alla volta, con bit meno significativi per primi, il risultato è 80.38.01. Si tratta del valore fornito come tipo di dati REG_BINARY.

La periodicità viene specificata come tipo di dati VT_BLOB. Questo valore è rappresentato da un valore decimale pari a 65. Nel formato esadecimale 65 è rappresentato dal valore 41 e l'estratto del file INF precedente mostra la sequenza di dati REG_BINARY con il primo valore 41.