使用Windows平台wwapi.dll解锁SIM PIN及获取WwanIntfOpcodeGetRadioInfo状态时遇参数错误等问题求助
Windows平台wwapi.dll解锁SIM PIN及获取WwanIntfOpcodeGetRadioInfo状态时遇参数错误等问题求助
我现在在尝试用wwapi.dll解锁SIM卡,同时获取WwanIntfOpcodeGetRadioInfo状态,但遇到了两个问题:错误87(参数错误)和错误1780(空指针)。因为没有相关引用和官方文档,我只能通过LoadLibrary来调用接口,下面是我已经尝试过的步骤,麻烦各位帮忙排查下问题所在:
打开句柄(操作成功)
这段代码成功获取了WWAN句柄:HANDLE hWwan = NULL; DWORD dwVersion; HRESULT hr = 0; hr = pWwanOpenHandle(WWAN_API_VERSION_2_0, NULL, &dwVersion, &hWwan) // 省略后续错误处理代码枚举接口(操作成功)
成功枚举到了接口,得到的信息是:Interfaces: 1 || Device: Generic Mobile Broadband Adapter #18 || State: 6
代码如下:PWWAN_INTERFACE_INFO_LIST pIfList = NULL; hr = WwanEnumerateInterfaces(hWwan, NULL, &pIfList); // 省略后续错误处理代码获取无线电信息(操作失败,错误码1780:空指针)
这里调用WwanSetInterface获取WwanIntfOpcodeGetRadioInfo状态失败了,但奇怪的是,用同一个接口设置无线电状态(WwanIntfOpcodeRadioState)是可以正常工作的。代码如下:WWAN_RADIO_STATE radioState = { WwanRadioOff, WwanRadioOff }; hr = WwanSetInterface( hWwan, &pIfList->InterfaceInfo[0].InterfaceGuid, WwanIntfOpcodeGetRadioInfo, 0, NULL, NULL, &radioState, NULL );解锁PIN(操作失败,错误码87:参数错误)
尝试输入PIN解锁SIM卡时触发了参数错误,代码如下:pinAction.PinType = WwanPinTypePin1; pinAction.PinOperation = WwanPinOperationEnter; wcscpy(pinAction.Pin, L"1234\0"); hr = WwanSetInterface( hWwan, &pIfList->InterfaceInfo[0].InterfaceGuid, WwanIntfOpcodePin, sizeof(pinAction), &pinAction, NULL, NULL, NULL );
备注:内容来源于stack exchange,提问作者Erz
相关产品推荐
相关产品推荐

