共用方式為


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 和更新版本上,此參數可以是下列其中一個值。

意義
WLAN_SET_EAPHOST_DATA_ALL_USERS
0x00000001
設定此設定檔所有使用者的 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
ERROR_ACCESS_DENIED
存取遭到拒絕。 如果呼叫端沒有配置檔的寫入許可權,則會傳回這個值。
ERROR_INVALID_PARAMETER
參數不正確。 如果發生下列任何狀況,則會傳回此值:
  • hClientHandleNULL
  • pInterfaceGuidNULL
  • strProfileNameNULL
  • pvReserved 不是 NULL

在 Windows Vista 和 Windows Server 2008 上,如果 pbEapUserData 參數為 NULL,則會傳回此值。

在 Windows 7、Windows Server 2008 R2 和更新版本上,如果 pbEapUserData 參數為 NULL,但 dwEapUserDataSize 參數不是 0,或 dwFlags 參數不包含 WLAN_SET_EAPHOST_DATA_ALL_USERS,則會傳回此錯誤。

ERROR_INVALID_HANDLE
句柄無效。 如果在句柄數據表中找不到句柄 hClientHandle ,就會傳回此錯誤。
ERROR_NOT_ENOUGH_MEMORY
沒有足夠的記憶體可用來處理此命令。
ERROR_NOT_SUPPORTED
不支援此要求。

當設定檔設定不允許儲存用戶數據時,就會傳回此值。 當啟用單一登錄 (SSO) ,或要求刪除此配置檔的預存認證時, (pbEapUserData 參數為 NULLdwFlags 參數包含 WLAN_SET_EAPHOST_DATA_ALL_USERS,而 dwEapUserDataSize 參數為 0) 時,就會發生這種情況。

在 Windows 10 上,Windows Server 2016 和更新版本,如果在使用 802.1X 以外的方法來驗證的配置檔上呼叫 WlanSetProfileEapUserData 函式,就會傳回此值。

如果此函式是從具有SP3的Windows XP或Windows XP搭配SP2用戶端的無線LAN API 呼叫,也會傳回此值。

ERROR_SERVICE_NOT_ACTIVE
尚未啟動服務。 如果無線 LAN 服務未執行,則會傳回此值。
RPC_STATUS
各種錯誤碼。

備註

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 參數必須是 NULLdwFlags 參數必須等於 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

另請參閱

EAP_METHOD_TYPE

EAP_TYPE

WlanGetProfile

WlanGetProfileCustomUserData

WlanGetProfileList

WlanSetProfile

WlanSetProfileEapXmlUserData