0

我正在尝试运行通过 HKLM/Init 启动的代码,我不让 Explorer 启动——这样用户就很难运行除了正在运行的东西之外的任何东西。我的程序现在尝试调用 RasDial 以便建立 Internet 连接。一旦我发出完成信号,这个程序就可以正常工作,这让 Explorer 启动——一旦 Explorer 运行我的程序,拨号似乎没有问题。但是如果我在没有运行资源管理器的情况下拨号,我会收到 608 错误:ERROR_DEVICE_DOES_NOT_EXIST。有趣的是,我的程序可以将 com 端口打开到调制解调器的诊断端口并成功与调制解调器通信,因此设备就在那里。似乎尚未设置 RAS。有什么线索可以解决这个问题吗?

4

1 回答 1

2

在与 Microsoft 支持联系几周后,他们提出了解决方案:我犯了一个错误,即通过在我的程序中不调用 SignalStarted 来阻止 Explorer 启动——这有效地阻止了 Init 序列中的任何后续任务启动(包括探险家)。

这种方法的问题在于,直到序列中的所有 BOOT\Init 程序都设置了 SignalStarted 值,RAS 才会设置。

因此,我的解决方案实际上是让 Explorer 退出 BOOT\Init 并让引导序列完成。

于 2011-08-20T18:32:22.230 回答