Share via


PKEY_AudioEngine_OEMPeriod

Die Windows-Audio-Engine wird in vordefinierten Intervallen ausgeführt, die als Periodizität der Audio-Engine bezeichnet werden. In Windows 7 und höheren Versionen von Windows wird die Audio-Engine standardmäßig mit einer Periodizität von 10 ms ausgeführt. In Windows 7 können Sie eine INF-Datei und einen neuen Registrierungsschlüssel PKEY_AudioEngine_OEMPeriod verwenden, um die Periodizität für Ihren Audiogerätetreiber anzupassen. Dies ist eine Einstellung pro Endpunkt.

Der folgende Auszug aus einer INF-Datei zeigt, wie Sie die INF AddReg-Direktive verwenden, um die Periodizität für einen Audiogerätetreiber anzupassen.

[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"

Periodizität wird als VT_BLOB angegeben. Und der gültige Periodizitätsbereich beträgt 50000-90000 (5-9 ms) bei sogar 10000 HNSTIME-Einheitengrenzen (z. B. 50000, 60000, 70000, 80000 oder 90000).

Im vorherigen Auszug aus einer INF-Datei werden die folgenden REG_BINARY Daten zur Anpassung bereitgestellt:

Die Periodizität von 8 ms wird in HNSTIME-Einheiten als 80000 dargestellt. In hexadezimaler Notation wird dieser Wert als 0x013880 dargestellt. Wenn dieser Hexadezimalwert vier Bits (Nibbles) gleichzeitig geschrieben wird, wobei zuerst die geringsten Bits verwendet werden, ist das Ergebnis 80,38,01. Dies ist der Wert, der als REG_BINARY Datentyp bereitgestellt wird.

Periodizität wird als VT_BLOB Datentyp angegeben. Dies wird durch den Dezimalwert 65 dargestellt. Im Hexadezimalformat wird 65 durch den Wert 41 dargestellt, und der obige INF-Dateiauszug zeigt die REG_BINARY Datensequenz mit dem ersten Wert von 41.