1

WlanGetProfileList 本机 api 按预期工作,直到设备重新启动。设备重启后,相同 api 的结果为空。但我仍然可以在 Windows Compact OS 的注册表值下看到创建的配置文件。

为了在 WINCE7 中启用 wifi 功能,我使用了 WLANTOOL。下面是来自 wlantool 的代码,用于获取创建的配置文件列表。

BOOL WlanInterfaces::ListProfileList(LPCWSTR strAdapter)
{
BOOL bResult = FALSE;
DWORD dwError = ERROR_SUCCESS;
PWLAN_PROFILE_INFO_LIST pProfileList = NULL;    
do
{
    if(FALSE == Init())
        break;

    WLAN_INTERFACE_INFO* pInterface = NULL;
    if(!GetInterface(strAdapter,&pInterface))
        break;

    dwError = WlanGetProfileList(*phClientHandle,
                                 &pInterface->InterfaceGuid,
                                 NULL,
                                 &pProfileList);

    if(ERROR_SUCCESS != dwError)
    {
        PrintMsg(L"WlanGetProfileList() Failed Error : %d",dwError);
        break;
    }

    if(NULL == pProfileList)
    {
        PrintMsg(L"WlanGetProfileList() returned NULL ProfileList");
        break;
    }

    for(DWORD i =0;i<pProfileList->dwNumberOfItems;i++)
    {
        PrintMsg(L"");
        PrintMsg(L"Index           : %lu",i);
        PrintMsg(L"Flags           : %lu",pProfileList->ProfileInfo[i].dwFlags);
        PrintMsg(L"ProfileName     : %s",pProfileList->ProfileInfo[i].strProfileName);
        ListProfile(strAdapter,pProfileList->ProfileInfo[i].strProfileName);
    }

    bResult = TRUE;
    }while(FALSE);

if(pProfileList)
    WlanFreeMemory(pProfileList);    

return bResult;
}

任何帮助,将不胜感激。提前致谢。

4

1 回答 1

0

在 Win CE 上,某些设备文件夹和 IIRC、注册表项会在重新启动时重置。

您需要检查您的设备和 Windows 版本的文档,以查看哪些存储位置是持久的,并使用它们或保存和恢复到它们/从它们恢复。

于 2018-05-23T14:51:07.207 回答