# IWlanInterface ## 概述 定义上层WLAN服务的接口。 **起始版本:** 3.2 **相关模块:**[WLAN](_w_l_a_n_v11.md) ## 汇总 ### Public 成员函数 | 名称 | 描述 | | -------- | -------- | | [Start](#start) () | 在HAL和WLAN驱动程序之间创建一个通道,并获取驱动程序网络接口卡(NIC)信息,此函数必须在创建IWiFi实例后调用。 | | [Stop](#stop) () | 销毁HAL和WLAN驱动程序之间的通道。此函数必须在IWiFi实例被销毁之前调用。 | | [CreateFeature](#createfeature) ([in] int type, [out] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature) | 基于指定的类型创建Feature对象 | | [DestroyFeature](#destroyfeature) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature) | 销毁Feature对象 | | [GetAssociatedStas](#getassociatedstas) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [out] struct [HdfStaInfo](_hdf_sta_info_v11.md)[] staInfo, [out] unsigned int num) | 获取连接到此AP的所有STA的信息。目前,STA信息仅包含MAC地址。 | | [GetChipId](#getchipid) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [out] unsigned char chipId) | 获取当前驱动程序的芯片ID | | [GetDeviceMacAddress](#getdevicemacaddress) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [out] unsigned char[] mac, [in] unsigned char len) | 获取设备MAC地址 | | [GetFeatureByIfName](#getfeaturebyifname) ([in] String ifName, [out] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature) | 基于指定的NIC名称获取Feature对象 | | [GetFeatureType](#getfeaturetype) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [out] int featureType) | 获取Feature对象的类型 | | [GetFreqsWithBand](#getfreqswithband) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [in] struct [HdfWifiInfo](_hdf_wifi_info_v11.md) wifiInfo, [out] int[] freq) | 获得指定频段支持的频率 | | [GetIfNamesByChipId](#getifnamesbychipid) ([in] unsigned char chipId, [out] String ifName, [out] unsigned int num) | 获取芯片的所有NIC名称 | | [GetNetworkIfaceName](#getnetworkifacename) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [out] String ifName) | 获取基于Feature对象的NIC名称 | | [GetSupportCombo](#getsupportcombo) ([out] unsigned long combo) | 获取多个NIC共存的信息 | | [GetSupportFeature](#getsupportfeature) ([out] unsigned char[] supType) | 获得设备支持的WLAN功能(不考虑当前的使用状态) | | [RegisterEventCallback](#registereventcallback) ([in] [IWlanCallback](interface_i_wlan_callback_v11.md) cbFunc, [in] String ifName) | 注册回调以侦听异步事件 | | [UnregisterEventCallback](#unregistereventcallback) ([in] [IWlanCallback](interface_i_wlan_callback_v11.md) cbFunc, [in] String ifName) | 注销回调 | | [ResetDriver](#resetdriver) ([in] unsigned char chipId, [in] String ifName) | 根据指定的芯片ID重新启动WLAN驱动程序 | | [SetCountryCode](#setcountrycode) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [in] String code, [in] unsigned int len) | 设置国家码 | | [SetMacAddress](#setmacaddress) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [in] unsigned char[] mac) | 设置NIC的MAC地址 | | [SetScanningMacAddress](#setscanningmacaddress) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [in] unsigned char[] scanMac) | 扫描单个MAC地址 | | [SetTxPower](#settxpower) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [in] int power) | 设置发射功率 | | [GetNetDevInfo](#getnetdevinfo) ([out] struct [HdfNetDeviceInfoResult](_hdf_net_device_info_result_v11.md) netDeviceInfoResult) | 获取网络设备信息,如设备索引、NIC名称和MAC地址 | | [StartScan](#startscan) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [in] struct [HdfWifiScan](_hdf_wifi_scan_v11.md) scan) | 开始扫描 | | [GetPowerMode](#getpowermode) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [out] unsigned char mode) | 获得使用中的电源模式 | | [SetPowerMode](#setpowermode) ([in] struct [HdfFeatureInfo](_hdf_feature_info_v11.md) ifeature, [in] unsigned char mode) | 设置电源模式 | | [StartChannelMeas](#startchannelmeas) ([in] String ifName, [in] struct [MeasChannelParam](_meas_channel_param_v11.md) measChannelParam) | 开始通道测量 | | [GetChannelMeasResult](#getchannelmeasresult) ([in] String ifName, [out] struct [MeasChannelResult](_meas_channel_result_v11.md) measChannelResult) | 获得通道测量结果 | | [SetProjectionScreenParam](#setprojectionscreenparam) ([in] String ifName, [in] struct [ProjectionScreenCmdParam](_projection_screen_cmd_param_v11.md) param) | 设置投影参数 | | [WifiSendCmdIoctl](#wifisendcmdioctl) ([in] String ifName, [in] int cmdId, [in] byte[] paramBuf) | 向驱动程序发送I/O控制命令 | | [GetStaInfo](#getstainfo) ([in] String ifName, [out] struct [WifiStationInfo](_wifi_station_info_v11.md) info, [in] unsigned char[] mac) | 获取指定NIC的STA信息 | | [StartPnoScan](#startpnoscan) ([in] String interfaceName, [in] struct [PnoSettings](_pno_settings_v11.md) pnoSettings) | 启动Pno扫描 | | [StopPnoScan](#stoppnoscan) ([in] String interfaceName) | 关闭Pno扫描 | | [GetSignalPollInfo](#getsignalpollinfo) ([in] String ifName, [out] struct [SignalPollResult](_signal_poll_result_v11.md) signalResult) | 获取相关链路的信号信息。此函数必须在STA模式下调用。 | ## 成员函数说明 ### CreateFeature() ``` IWlanInterface::CreateFeature ([in] int type, [out] struct HdfFeatureInfo ifeature ) ``` **描述** 基于指定的类型创建Feature对象 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | type | 表示要创建的Feature对象的类型。
- 2:Station
- 3:AP | | ifeature | 表示创建feature对象 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### DestroyFeature() ``` IWlanInterface::DestroyFeature ([in] struct HdfFeatureInfo ifeature) ``` **描述** 销毁Feature对象 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示要销毁的Feature对象 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetAssociatedStas() ``` IWlanInterface::GetAssociatedStas ([in] struct HdfFeatureInfo ifeature, [out] struct HdfStaInfo[] staInfo, [out] unsigned int num ) ``` **描述** 获取连接到此AP的所有STA的信息。目前,STA信息仅包含MAC地址。 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | staInfo | 表示所有连接到AP的STA的基本信息 | | num | 表示连接的STA的数量 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetChannelMeasResult() ``` IWlanInterface::GetChannelMeasResult ([in] String ifName, [out] struct MeasChannelResult measChannelResult ) ``` **描述** 获得通道测量结果 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifName | 表示网卡(NIC)名称 | | measChannelResult | 指示通道测量结果(包括通道ID、负载和噪声) | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetChipId() ``` IWlanInterface::GetChipId ([in] struct HdfFeatureInfo ifeature, [out] unsigned char chipId ) ``` **描述** 获取当前驱动程序的芯片ID **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | chipId | 表示获得的芯片ID | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetDeviceMacAddress() ``` IWlanInterface::GetDeviceMacAddress ([in] struct HdfFeatureInfo ifeature, [out] unsigned char[] mac, [in] unsigned char len ) ``` **描述** 获取设备MAC地址 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | mac | 表示获得的MAC地址 | | len | 表示MAC地址的长度,该值固定为6。 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetFeatureByIfName() ``` IWlanInterface::GetFeatureByIfName ([in] String ifName, [out] struct HdfFeatureInfo ifeature ) ``` **描述** 基于指定的NIC名称获取Feature对象 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifName | 表示网卡(NIC)名称 | | ifeature | 表示获得的Feature对象 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetFeatureType() ``` IWlanInterface::GetFeatureType ([in] struct HdfFeatureInfo ifeature, [out] int featureType ) ``` **描述** 获取Feature对象的类型 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | featureType | 表示获取的Feature对象的类型 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetFreqsWithBand() ``` IWlanInterface::GetFreqsWithBand ([in] struct HdfFeatureInfo ifeature, [in] struct HdfWifiInfo wifiInfo, [out] int[] freq ) ``` **描述** 获得指定频段支持的频率 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | wifiInfo | 表示频率信息
- wifiInfo.band:
  - 0:2.4 GHz
  - 1:5 GHz
- wifiInfo.size,最小为14 | | freq | 保存支持的频率。 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetIfNamesByChipId() ``` IWlanInterface::GetIfNamesByChipId ([in] unsigned char chipId, [out] String ifName, [out] unsigned int num ) ``` **描述** 获取芯片的所有NIC名称 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | chipId | 表示目标芯片的ID | | ifNames | 表示获得的NIC名称 | | num | 表示NIC的数量 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetNetDevInfo() ``` IWlanInterface::GetNetDevInfo ([out] struct HdfNetDeviceInfoResult netDeviceInfoResult) ``` **描述** 获取网络设备信息,如设备索引、NIC名称和MAC地址 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | netDeviceInfoResult | 表示获得的网络设备信息 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetNetworkIfaceName() ``` IWlanInterface::GetNetworkIfaceName ([in] struct HdfFeatureInfo ifeature, [out] String ifName ) ``` **描述** 获取基于Feature对象的NIC名称 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | ifName | 表示网卡(NIC)名称 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetPowerMode() ``` IWlanInterface::GetPowerMode ([in] struct HdfFeatureInfo ifeature, [out] unsigned char mode ) ``` **描述** 获得使用中的电源模式 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | mode | 表示电源模式,包括睡眠模式(待机状态运行)、一般模式(正常额定功率运行)、穿墙模式(最大功率运行,提高信号强度和覆盖面积)。 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetSignalPollInfo() ``` IWlanInterface::GetSignalPollInfo ([in] String ifName, [out] struct SignalPollResult signalResult ) ``` **描述** 获取相关链路的信号信息。此函数必须在STA模式下调用。 **起始版本:** 4.0 **参数:** | 名称 | 描述 | | -------- | -------- | | ifName | 表示网卡(NIC)名称 | | signalResult | 表示信号信息 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetStaInfo() ``` IWlanInterface::GetStaInfo ([in] String ifName, [out] struct WifiStationInfo info, [in] unsigned char[] mac ) ``` **描述** 获取指定NIC的STA信息 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifName | 表示网卡(NIC)名称 | | info | 表示所获得的STA信息。有关详细信息,请参阅[WifiStationInfo](_wifi_station_info_v11.md) | | mac | 表示STA的MAC地址 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetSupportCombo() ``` IWlanInterface::GetSupportCombo ([out] unsigned long combo) ``` **描述** 获取多个NIC共存的信息 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | combo | 表示获得的信息,例如,AP、STA和P2P的不同组合。 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### GetSupportFeature() ``` IWlanInterface::GetSupportFeature ([out] unsigned char[] supType) ``` **描述** 获得设备支持的WLAN功能(不考虑当前的使用状态) **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | supType | 表示获得的功能 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### RegisterEventCallback() ``` IWlanInterface::RegisterEventCallback ([in] IWlanCallback cbFunc, [in] String ifName ) ``` **描述** 注册回调以侦听异步事件 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | cbFunc | 表示要注册的回调 | | ifName | 表示网卡(NIC)名称 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### ResetDriver() ``` IWlanInterface::ResetDriver ([in] unsigned char chipId, [in] String ifName ) ``` **描述** 根据指定的芯片ID重新启动WLAN驱动程序 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | chipId | 表示要重新启动其驱动程序的芯片的ID | | ifName | 表示网卡(NIC)名称 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### SetCountryCode() ``` IWlanInterface::SetCountryCode ([in] struct HdfFeatureInfo ifeature, [in] String code, [in] unsigned int len ) ``` **描述** 设置国家码 国家/地区代码表示AP射频所在的国家/地区。描述AP射频特性, 包括AP的发射功率和支持的信道,确保AP的射频属性符合当地法律法规。 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | code | 表示设置的国家码 | | len | 表示国家码的长度 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### SetMacAddress() ``` IWlanInterface::SetMacAddress ([in] struct HdfFeatureInfo ifeature, [in] unsigned char[] mac ) ``` **描述** 设置NIC的MAC地址 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | mac | 表示要设置的MAC地址 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### SetPowerMode() ``` IWlanInterface::SetPowerMode ([in] struct HdfFeatureInfo ifeature, [in] unsigned char mode ) ``` **描述** 设置电源模式 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | mode | 表示设置电源模式。电源模式可以是睡眠模式(待机状态运行)、一般模式(正常额定功率运行)、穿墙模式(最大功率运行,提高信号强度和覆盖面积)。 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### SetProjectionScreenParam() ``` IWlanInterface::SetProjectionScreenParam ([in] String ifName, [in] struct ProjectionScreenCmdParam param ) ``` **描述** 设置投影参数 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifName | 表示网卡(NIC)名称 | | param | 表示要设置的投影参数 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### SetScanningMacAddress() ``` IWlanInterface::SetScanningMacAddress ([in] struct HdfFeatureInfo ifeature, [in] unsigned char[] scanMac ) ``` **描述** 扫描单个MAC地址 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | scanMac | 表示STA要扫描的MAC地址 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### SetTxPower() ``` IWlanInterface::SetTxPower ([in] struct HdfFeatureInfo ifeature, [in] int power ) ``` **描述** 设置发射功率 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | power | 表示要设置的发射功率 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### Start() ``` IWlanInterface::Start () ``` **描述** 在HAL和WLAN驱动程序之间创建一个通道,并获取驱动程序网络接口卡(NIC)信息,此函数必须在创建IWiFi实例后调用。 **起始版本:** 3.2 **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### StartChannelMeas() ``` IWlanInterface::StartChannelMeas ([in] String ifName, [in] struct MeasChannelParam measChannelParam ) ``` **描述** 开始通道测量 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifName | 表示网卡(NIC)名称 | | measChannelParam | 表示通道测量参数(通道ID和测量时间) | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### StartPnoScan() ``` IWlanInterface::StartPnoScan ([in] String interfaceName, [in] struct PnoSettings pnoSettings ) ``` **描述** 启动Pno扫描 **起始版本:** 4.0 **参数:** | 名称 | 描述 | | -------- | -------- | | interfaceName | 表示网卡(NIC)名称 | | pnoSettings | 表示pno扫描参数 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### StartScan() ``` IWlanInterface::StartScan ([in] struct HdfFeatureInfo ifeature, [in] struct HdfWifiScan scan ) ``` **描述** 开始扫描 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifeature | 表示Feature对象 | | scan | 表示扫描参数 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### Stop() ``` IWlanInterface::Stop () ``` **描述** 销毁HAL和WLAN驱动程序之间的通道。此函数必须在IWiFi实例被销毁之前调用。 **起始版本:** 3.2 **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### StopPnoScan() ``` IWlanInterface::StopPnoScan ([in] String interfaceName) ``` **描述** 关闭Pno扫描 **起始版本:** 4.0 **参数:** | 名称 | 描述 | | -------- | -------- | | interfaceName | 表示网卡(NIC)名称 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### UnregisterEventCallback() ``` IWlanInterface::UnregisterEventCallback ([in] IWlanCallback cbFunc, [in] String ifName ) ``` **描述** 注销回调 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | cbFunc | 表示要注销的回调 | | ifName | 表示网卡(NIC)名称 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。 ### WifiSendCmdIoctl() ``` IWlanInterface::WifiSendCmdIoctl ([in] String ifName, [in] int cmdId, [in] byte[] paramBuf ) ``` **描述** 向驱动程序发送I/O控制命令 **起始版本:** 3.2 **参数:** | 名称 | 描述 | | -------- | -------- | | ifName | 表示网卡(NIC)名称 | | cmdId | 表示要发送的命令的ID | | paramBuf | 表示命令内容 | **返回:** 如果操作成功,则返回0。 如果操作失败,则为负值。