通过移动宽带API连接到移动网络

时间:2017-09-12 13:58:23

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

我正在尝试通过调制解调器和SIM卡连接到移动网络。每次我尝试通过SetProvisionedContext()在上下文中设置APN字符串和用户凭据时,我都会获得E_INVALIDARG HRESULT。 作为参数,我使用了MBN_CONTEXT的实例,wchar_t*形式的&std::vector<wchar_t>[0]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中包含的代码示例。是否还有其他我不了解的信息来源?谷歌搜索没有产生希望的结果。

1 个答案:

答案 0 :(得分:0)

最后我没有按照它应该的那样工作。我使用第二种方式连接到自定义APN,通过创建一个新的连接配置文件。为此,我使用了一个填充了我需要的值的XML。

在此过程中,我遇到了另一个问题,即我所描述的here不可见的错误代码。

致以最诚挚的问候,

的Stefan