我正在尝试通过调制解调器和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中包含的代码示例。是否还有其他我不了解的信息来源?谷歌搜索没有产生希望的结果。
答案 0 :(得分:0)
最后我没有按照它应该的那样工作。我使用第二种方式连接到自定义APN,通过创建一个新的连接配置文件。为此,我使用了一个填充了我需要的值的XML。
在此过程中,我遇到了另一个问题,即我所描述的here不可见的错误代码。
致以最诚挚的问候,
的Stefan