WlanSetProfileEapUserData 函式 (wlanapi.h)
WlanSetProfileEapUserData 函式會設定 EAP (EAP) 未經處理 EAP 數據所指定的用戶認證。 用戶認證會套用至介面上的配置檔。
語法
DWORD WlanSetProfileEapUserData(
[in] HANDLE hClientHandle,
[in] const GUID *pInterfaceGuid,
[in] LPCWSTR strProfileName,
[in] EAP_METHOD_TYPE eapType,
[in] DWORD dwFlags,
[in] DWORD dwEapUserDataSize,
[in] const LPBYTE pbEapUserData,
PVOID pReserved
);
參數
[in] hClientHandle
用戶端的會話句柄,由先前呼叫 WlanOpenHandle 函式取得。
[in] pInterfaceGuid
介面的 GUID。
[in] strProfileName
與EAP用戶數據相關聯的配置檔名稱。 配置檔名稱會區分大小寫。 此字串必須以 NULL 終止。
[in] eapType
EAP_METHOD_TYPE 結構,其中包含呼叫端提供EAP用戶認證的方法。
[in] dwFlags
一組旗標,可修改函式的行為。
在 Windows Vista 和 Windows Server 2008 上,此參數是保留的,而且應該設定為零。
在 Windows 7、Windows Server 2008 R2 和更新版本上,此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
設定此設定檔所有使用者的 EAP 主機數據。 |
[in] dwEapUserDataSize
pbEapUserData 所指向之數據的大小,以位元組為單位。
[in] pbEapUserData
用來設定使用者認證的原始 EAP 數據的指標。
在 Windows Vista 和 Windows Server 2008 上,此參數不得為 NULL。
在 Windows 7、Windows Server 2008 R2 和更新版本上,如果 dwFlags 參數包含 WLAN_SET_EAPHOST_DATA_ALL_USERS,而且 dwEapUserDataSize 參數為 0,則可以將此參數設定為 NULL 來刪除此設定檔的預存認證。
pReserved
保留供未來使用。 必須設定為 NULL。
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,傳回值可能是下列其中一個傳回碼。
傳回碼 | Description |
---|---|
|
存取遭到拒絕。 如果呼叫端沒有配置檔的寫入許可權,則會傳回這個值。 |
|
參數不正確。 如果發生下列任何狀況,則會傳回此值:
在 Windows Vista 和 Windows Server 2008 上,如果 pbEapUserData 參數為 NULL,則會傳回此值。 在 Windows 7、Windows Server 2008 R2 和更新版本上,如果 pbEapUserData 參數為 NULL,但 dwEapUserDataSize 參數不是 0,或 dwFlags 參數不包含 WLAN_SET_EAPHOST_DATA_ALL_USERS,則會傳回此錯誤。 |
|
句柄無效。 如果在句柄數據表中找不到句柄 hClientHandle ,就會傳回此錯誤。 |
|
沒有足夠的記憶體可用來處理此命令。 |
|
不支援此要求。
當設定檔設定不允許儲存用戶數據時,就會傳回此值。 當啟用單一登錄 (SSO) ,或要求刪除此配置檔的預存認證時, (pbEapUserData 參數為 NULL、 dwFlags 參數包含 WLAN_SET_EAPHOST_DATA_ALL_USERS,而 dwEapUserDataSize 參數為 0) 時,就會發生這種情況。 在 Windows 10 上,Windows Server 2016 和更新版本,如果在使用 802.1X 以外的方法來驗證的配置檔上呼叫 WlanSetProfileEapUserData 函式,就會傳回此值。 如果此函式是從具有SP3的Windows XP或Windows XP搭配SP2用戶端的無線LAN API 呼叫,也會傳回此值。 |
|
尚未啟動服務。 如果無線 LAN 服務未執行,則會傳回此值。 |
|
各種錯誤碼。 |
備註
WlanSetProfileEapUserData 函式會設定要在配置檔上使用的 EAP 用戶認證。 在 Windows Vista 和 Windows Server 2008 上,這些認證只能由呼叫端使用。
eapType 參數是EAP_METHOD_TYPE結構,其中包含 EAP 方法的類型、識別和作者資訊。 EAP_METHOD_TYPE 結構的 eapType 成員是EAP_TYPE結構,其中包含 EAP 方法的類型和廠商識別資訊。
如需 EAP 方法類型配置的詳細資訊,請參閱 IETF 所發佈的 RFC 3748 第 6.2 節。
在 Windows 7、Windows Server 2008 R2 及更新版本上, WlanSetProfileEapUserData 函式已增強。 如果 dwFlags 參數包含WLAN_SET_EAPHOST_DATA_ALL_USERS,則可以為配置檔的所有使用者設定 EAP 用戶 認證。 您也可以刪除設定檔上的 EAP 使用者認證。 若要刪除配置檔上的 EAP 使用者認證, pbEapUserData 參數必須是 NULL、 dwFlags 參數必須等於 WLAN_SET_EAPHOST_DATA_ALL_USERS,而 dwEapUserDataSize 參數必須是 0。
執行設定文件作業時,所有無線 LAN 函式都需要無線介面的介面 GUID。 拿掉無線介面時,其狀態會從無線 LAN 服務 (WLANSVC) 清除,而且無法執行任何配置檔作業。
如果 pInterfaceGuid 參數中指定的無線介面已從系統中移除 ERROR_INVALID_PARAMETER ( 已移除的 USB 無線適配卡,WlanSetProfileEapUserData 函式可能會失敗,例如) 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wlanapi.h (包含 Wlanapi.h) |
程式庫 | Wlanapi.lib |
Dll | Wlanapi.dll |