WlanGetProfileList не возвращает профили, созданные после перезагрузки устройства

WlanGetProfileList нативный API работает, как и ожидалось, до перезагрузки устройства. После перезагрузки устройства результат того же API пуст. Но все же я вижу созданные профили в параметрах реестра Windows Compact OS.

Для включения функции Wi-Fi в WINCE7 я использовал 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;
}

Любая помощь будет оценена. Заранее спасибо.

1

Решение

В Win CE некоторые папки устройств и IIRC, ключи реестра сбрасываются при перезагрузке.

Вам необходимо проверить документацию для своего устройства и версии Windows, чтобы увидеть, какие места хранения являются постоянными, и либо использовать их, либо сохранять и восстанавливать в / из них.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]