|
请问各位大侠,老九兄,老毛桃兄,要怎样为WinPE添加串行端口驱动?
我看不懂:
------------------------------------------------------
已知问题
* 需要将串行端口的符号名称添加到 Windows PE
Windows PE 不为串行端口创建符号名称,如 COM1 和 COM2。这意味着应用程序无法
检测和使用这些串行端口。
解决方法:要为串行端口创建符号名称,可以编写一个调用 DefineDosDevice 函数
并使用该端口的完整设备名称的应用程序。然后将该应用程序添加到 Startnet.cmd
中,以便其作为 Windows PE 启动过程的一部分运行。该应用程序结束后,其他应用
程序就能够根据串行端口的符号名称检测到相应的串行端口。
在部署该应用程序之前,必须在脱机 Windows PE 映像中添加相应的注册表项,之后
才能使用串行端口。
1. 使用 Regedit 将脱机映像中的 Setupreg.hiv 装入 HKLM\test。
2. 添加以下注册表项:
HKLM\test\ControlSet001\Services\serial\Parameters
3. 卸载 Setupreg.hiv。
使用 ACPI HAL 时,COM1 的完整设备名称是:
\\?\ACPI#PNP0501#1#{4D36E978-E325-11CE-BFC1-08002BE10318}
要在其他 HAL 上识别串行端口的完整设备名称,请使用 QueryDosDevice 函数搜索
字符串“PNP0501”。
要在自定义应用程序中使用串行端口,请使用串行端口的完整设备名称,或者使用
DefineDosDevice 来创建符号名称,如下例所示:
#define COM_PORT_DEV_NAME(n) \
TEXT("\\\\?\\ACPI#PNP0501#") TEXT(#n) TEXT("#{4D36E978-E325
-11CE-BFC1-08002BE10318}")
#define COM_PORT_NAME(n) \
TEXT("COM") TEXT(#n)
DefineDosDevice( 0, COM_PORT_NAME(1), COM_PORT_DEV_NAME(1) ); |
|