【问题标题】:Connecting to Mobile Network via Mobile Broadband API通过移动宽带 API 连接到移动网络
【发布时间】:2018-02-21 00:50:58
【问题描述】:

我正在尝试通过调制解调器和 SIM 卡连接到移动网络。每次我尝试通过SetProvisionedContext() 在上下文中设置 APN 字符串和用户凭据时,我都会得到E_INVALIDARG HRESULT。 作为参数,我使用了MBN_CONTEXT 的实例、&std::vector<wchar_t>[0] 形式的wchar_t*ULONG*

    MBN_CONTEXT context;

    std::vector<WCHAR> apnVector;
    inParamAPN.GetCString(apnVector);

    std::vector<WCHAR> userNameVec;
    inParamUsername.GetCString(userNameVec);

    std::vector<WCHAR> passwordVector;
    inParamPassword.GetCString(passwordVector);

    context.contextID = MBN_CONTEXT_ID_APPEND;
    context.contextType = MBN_CONTEXT_TYPE_INTERNET;
    context.accessString = &apnVector[0];
    context.userName = &userNameVec[0];
    context.password = &passwordVector[0];
    context.compression = MBN_COMPRESSION_NONE;
    context.authType = MBN_AUTH_PROTOCOL_PAP;

后来当我有IMbnConnectionContext:

    std::vector<WCHAR> providerVector;
    InParamProvider.GetCString(providerVector);
    ULONG requestID;
    contextInterface->SetProvisionedContext(context, &providerVector[0], &requestID);

所以我的问题是:WinAPI 的哪个参数有问题,我该如何解决?

此外,任何其他信息来源的提示都已得到应用。 到目前为止,我只有官方的MSDN 和包含在 Windows 7 SDK 中的代码示例。是否还有其他我不知道的信息来源?谷歌搜索没有产生预期的结果。

【问题讨论】:

  • 所以如果我发现缺少文档,我不能在这里寻求帮助吗?好的,让我快速说明我的问题。
  • 你只需要稍微改变一下措辞。而不是“我在哪里可以找到关于 X 的文档?”你问“我该怎么做 X?”。尽量避免诸如“我如何编写程序?”之类的一般性问题。并提供一个minimal reproducible example 来显示确切的问题。
  • 我想我现在做得更好了。 WinAPI 的语法高亮也不是那么好。

标签: c++ winapi windows-7 mobile-broadband-api


【解决方案1】:

最后我没有得到它应有的工作。我使用了第二种连接自定义 APN 的方法,即创建一个新的连接配置文件。为此,我使用了一个填充了所需值的 XML。

在此过程中,我遇到了另一个问题,即我描述了here 的无法预料的错误代码。

最好的问候,

斯蒂芬

【讨论】:

    猜你喜欢
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    相关资源
    最近更新 更多