2013年7月19日 星期五

Winpe 加入Audio service所需的service --- AudioEndpointBuilder、Audiosrv

AudioEndpointBuilder全名為Windows Audio Endpoint Builder,Audiosrv全名為Audio Service,在winpe下並未加入以上兩個service,若要加入以上兩個service,可參考以下作法。
Winpe3.0 AudioEndpointBuilder,需要使用AudioSrv.dll來安裝AudioEndpointBuilder service。
Winpe4.0 AudioEndpointBuilder,需要使用AudioEndpointBuilder.dll來安裝AudioEndpointBuilder service。

先介紹Winpe3.0的部分,添加以下DLL至winpe中的 windows\system32\
avrt.dll
MMDevAPI.dll
mmcss.dll
AudioSrv.dll


添加以下Registry key至winpe中
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia
HKLM\SYSTEM\ControlSet001\services\MMCSS
HKLM\SYSTEM\ControlSet001\services\AudioEndpointBuilder
HKLM\SYSTEM\ControlSet001\services\Audiosrv
HKLM\SOFTWARE\Classes\CLSID\{BCDE0395-E52F-467C-8E3D-C4579291692E}
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost

系統最開始預設啟動的Service

成功添加以上DLL與Registry key後。可以手動方式分別啟動MMCSS、AudioEndpointBuilder、Audiosrv,如下圖
如Audiosrv順利啟動,表示winpe中已存在Audio Service。

若是未添加 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost,在啟動AudioEndpointBuilder、Audiosrv時,將會發生系統錯誤。
PS:
  1. HKLM\SYSTEM\ControlSet001\services\Audiosrv中,RequiredPrivileges 權限需修改為只使用SeChangeNotifyPrivilege 權限才行。
  2. HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost中,netsvcs機碼需添加AudioSrv、MMCSS(Winpe預設機碼不會出現這兩個)。


沒有留言:

張貼留言