我正在尝试运行通过HKLM / Init启动的代码,我不会让Explorer启动 - 这样用户就很难运行除运行之外的任何东西。我的程序现在尝试调用RasDial,以便建立Internet连接。一旦我发信号通知我的完成,这个程序工作正常,这让Explorer启动 - 一旦资源管理器运行我的程序似乎没有问题拨号。但如果我在没有运行资源管理器的情况下拨号,则会收到608错误:ERROR_DEVICE_DOES_NOT_EXIST。有趣的是,我的程序可以打开调制解调器诊断端口的COM端口并成功与调制解调器通信,因此设备就在那里。似乎RAS尚未设置。我有什么线索可以解决这个问题?
答案 0 :(得分:2)
使用Microsoft支持几周后,他们提出了解决方案: 我错误地通过不在我的程序中调用SignalStarted来阻止Explorer启动 - 这有效地阻止了Init序列中的任何后续任务启动(包括Explorer)。
这种方法的问题是,在序列中的所有BOOT \ Init程序都设置了SignalStarted值之前,RAS不会设置。
因此我的解决方案是将Explorer从BOOT \ Init中取出并让启动序列完成。