다음을 통해 공유


PKEY_AudioEngine_OEMPeriod

Windows 오디오 엔진은 오디오 엔진의 주기라고 하는 미리 정해진 간격으로 실행됩니다. Windows 7 이상 버전의 Windows에서는 오디오 엔진이 기본적으로 10ms의 주기로 실행됩니다. Windows 7에서는 INF 파일과 새 레지스트리 키 인 PKEY_AudioEngine_OEMPeriod 사용하여 오디오 디바이스 드라이버의 주기를 사용자 지정할 수 있습니다. 엔드포인트별 설정입니다.

INF 파일에서 발췌한 다음 내용은 INF AddReg 지시문을 사용하여 오디오 디바이스 드라이버의 주기를 사용자 지정하는 방법을 보여 줍니다.

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

주기성은 VT_BLOB 지정됩니다. 그리고 유효한 주기 범위는 10000 HNSTIME 단위 경계(예: 50000, 60000, 70000, 80000 또는 90000)에서도 50000-90000(5-9ms)입니다.

INF 파일에서 이전 발췌한 내용에서 사용자 지정을 위해 다음 REG_BINARY 데이터가 제공됩니다.

8ms의 주기성은 HNSTIME 단위로 80000으로 표시됩니다. 16진수 표기법에서 이 값은 0x013880 표시됩니다. 이 16진수 값이 한 번에 4비트(니블)로 작성되고 가장 중요한 비트가 먼저 기록되면 결과는 80,38,01입니다. REG_BINARY 데이터 형식으로 제공되는 값입니다.

주기성은 VT_BLOB 데이터 형식으로 지정됩니다. 이 값은 10진수 값 65로 표시됩니다. 16진수 형식 65는 값 41로 표시되고 앞의 INF 파일 발췌는 첫 번째 값이 41인 REG_BINARY 데이터 시퀀스를 보여줍니다.