1

在 Windows Mobile 6 设备上,我们正在尝试打开 Internet 连接。这通常有效,但有时我们会得到返回码 0x80004005,状态为 CONNMGR_STATUS_NOPATHTODESTINATION。当这种情况发生时,它会继续发生,但如果你在设备上启动 IE,它会连接,然后我们对 ConnMgrEstablishConnectionSync 的调用就会起作用。我们无法找出导致这种情况发生的原因,它目前似乎是随机的(尽管我怀疑它不是)。有什么提示吗?

我们的代码基本上是这样的:

CONNMGR_CONNECTIONINFO  connInfo;
DWORD                   dwStatus = 0;

memset(&connInfo, 0, sizeof(connInfo));
connInfo.cbSize = sizeof(connInfo);
connInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
connInfo.dwFlags = CONNMGR_FLAG_NO_ERROR_MSGS;
connInfo.dwPriority = CONNMGR_PRIORITY_HIPRIBKGND;
connInfo.guidDestNet = IID_DestNetInternet; /* Connect to the "Internet" network */

hr = ConnMgrEstablishConnectionSync(&connInfo, &s_hConnection, 120 * 1000, &dwStatus);
4

1 回答 1

0

Windows Mobile 连接管理器是一个巨大的 PITA。如果您通过 IP 指定网络地址(例如“255.255.255.255/whatever”)而不是服务器名称,您会得到相同的错误吗?

我的猜测是您可以使用以下方法之一按需重现缺少连接的情况:

  • 在 WM 设备上清除 IE 中的历史记录
  • 从正在运行的程序屏幕中关闭 IE(换句话说,真正将其从内存中删除)
  • 软重置设备
于 2009-07-08T19:42:09.683 回答