2017-08-14 72 views
-3

我想使用WlanConnect功能連接到wireless access point無線連接問題

代碼:

HANDLE hClient; 
PWLAN_INTERFACE_INFO_LIST pIfList; 
PWLAN_INTERFACE_INFO pIfInfo; 
PWLAN_AVAILABLE_NETWORK_LIST pBssList; 

DWORD dwResult = 0; 
WLAN_CONNECTION_PARAMETERS connectionParameters; 
memset(&connectionParameters, 0, sizeof(WLAN_CONNECTION_PARAMETERS)); 
connectionParameters.wlanConnectionMode = wlan_connection_mode_profile; 
connectionParameters.strProfile = pBssList->Network[apIndex].strProfileName; 
connectionParameters.dwFlags = 0; 
connectionParameters.pDot11Ssid = NULL; 
connectionParameters.pDesiredBssidList = 0; 
connectionParameters.dot11BssType = dot11_BSS_type_any; 
dwResult = WlanConnect(hClient, &pIfInfo->InterfaceGuid, &connectionParameters, NULL); 

if (dwResult == ERROR_SUCCESS) { 
    qDebug() << "Connected!"; 
} else { 
    qDebug() << dwResult; 
} 

當連接到open AP我得到87 error code,這意味着錯誤的參數。任何想法什麼參數可能是錯誤的?提前致謝。

+0

1)請提供[mcve]。你在問哪個參數可能是錯誤的,但是你不提供代碼,你在哪裏設置了一半。 2)你看過[documentation](https://msdn.microsoft.com/en-us/library/windows/desktop/ms706613(v = vs.85).aspx)嗎?更確切地說,關於'ERROR_INVALID_PARAMETER'的部分列出了在哪些條件下可能會返回這樣的錯誤代碼。 –

+0

@AlgirdasPreidžius 我測試了不同的參數。結果是一樣的 - '87'。我無法發佈所有無線代碼,因爲它具有> 700行。 – Cobra91151

+0

1)請告訴我,我要求發佈**全部**代碼。我問**,**製造**,[mcve]。 2)你的代碼示例,由於'&pIfInfo-> InterfaceGuid'出現未定義的行爲,因爲'pIfInfo'未初始化,並且在同一行中使用'hClient',它也是未初始化的。 3)作爲代碼示例 - 我可以建議的是重新閱讀文檔。更具體地說 - 關於'ERROR_INVALID_PARAMETER'的部分,而不是試圖猜測原因。 –

回答

0

我已經找到並解決了這個問題。問題是在WlanConnect函數之前沒有設置WlanSetProfile函數。