【发布时间】: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