INTF_ENTRY结构
[自 Windows Vista 和 Windows Server 2008 起,不再支持 INTF_ENTRY。 请改用 Native Wifi API,该 API 提供类似的功能。 有关详细信息,请参阅 关于本机 Wifi API。]
包含 RPC 客户端所需的接口的详细信息。
语法
typedef struct {
LPWSTR wszGuid;
LPWSTR wszDescr;
DWORD dwContext;
ULONG ulMediaState;
ULONG ulMediaType;
ULONG ulPhysicalMediaType;
INT nInfraMode;
INT nAuthMode;
INT nWepStatus;
DWORD dwCtlFlags;
DWORD dwDynFlags;
DWORD dwCapabilities;
RAW_DATA rdNicCapabilities;
RAW_DATA rdSSID;
RAW_DATA rdBSSID;
RAW_DATA rdBSSIDList;
RAW_DATA rdStSSIDList;
RAW_DATA rdCtrlData;
} INTF_ENTRY, *PINTF_ENTRY;
成员
-
wszGuid
-
指向以 Unicode 字符串表示的接口 GUID 的指针,格式如下:“{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”。
-
wszDescr
-
指向包含无线零配置服务 (WZCSVC) 检索的接口说明的字符串的指针。
-
dwContext
-
保留以供内部使用。
-
ulMediaState
-
接口的当前 NDIS 媒体连接状态。 下表列出了可能的值。
“值” 含义 - MEDIA_STATE_CONNECTED
- 1
媒体已连接。 - MEDIA_STATE_DISCONNECTED
- 0
媒体已断开连接。 - MEDIA_STATE_UNKNOWN
- -1
媒体状态未知。 -
ulMediaType
-
NIC 当前使用的 NDIS 媒体类型。 查询时,此成员的值 NdisMedium802_3Ndispnp.h 头文件中的定义。
-
ulPhysicalMediaType
-
接口的 NDIS 媒体类型。 查询时,此成员的值为 Ndispnp.h 头文件中定义的 NdisPhysicalMediumWirelessLan。
-
nInfraMode
-
接口上设置的当前 802.11 基础结构模式。
-
nAuthMode
-
接口上设置的当前 802.11 身份验证模式。
下表显示了基于 NtDDNdis.h 头文件中定义的 NDIS_802_11_AUTHENTICATION_MODE 枚举的参数的可能值。
值 含义 - Ndis802_11AuthModeOpen
- 1
IEEE 802.11 开放系统身份验证。 - Ndis802_11AuthModeShared
- 2
IEEE 802.11 共享身份验证,使用预先共享的有线等效隐私 (WEP) 密钥。 - Ndis802_11AuthModeAutoSwitch
- 3
自动切换模式。 使用自动切换模式时,无线网络接口卡 (NIC) 首先尝试共享身份验证模式。 如果共享模式失败,NIC 将尝试使用开放身份验证模式。 - Ndis802_11AuthModeWPA
- 4
无线保护访问 (WPA) 安全性。 身份验证通过 IEEE 802.1X 在请求方、验证器和身份验证服务器之间执行。 加密密钥是动态的,通过身份验证过程派生。 - Ndis802_11AuthModeWPAPSK
- 5
使用预共享密钥的 WPA 安全性。 通过 IEEE 802.1X 在请求方和验证器之间执行身份验证。 加密密钥是动态的,通过请求方和验证器使用的预共享密钥派生。 - Ndis802_11AuthModeWPANone
- 6
WPA 安全性。 身份验证使用不带 IEEE 802.1X 身份验证的预共享密钥执行。 加密密钥是静态的,通过预共享密钥派生。 此模式仅适用于即席网络类型。 - Ndis802_11AuthModeWPA2
- 7
WPA2 安全性。 身份验证通过 IEEE 802.1X 在请求方、验证器和身份验证服务器之间执行。 加密密钥是动态的,通过身份验证过程派生。 - Ndis802_11AuthModeWPA2PSK
- 8
指定 WPA2 安全性。 通过 IEEE 802 1X 在请求方和验证器之间执行身份验证。 加密密钥是动态的,通过请求方和验证器使用的预共享密钥派生。 - Ndis802_11AuthModeMax
- 9
NDIS_802_11_AUTHENTICATION_MODE 枚举值的可能最大值。 这不是身份验证模式的法律值。 -
nWepStatus
-
接口上设置的当前 802.11 加密模式。
-
dwCtlFlags
-
控制标志的位掩码值,指示 WZCSVC 在接口上的操作方式。
下表显示了可能的位值。
值 含义 - INTFCTL_CM_MASK
- 0x0007
网络筛选器模式的位掩码。 INTFCTL_CM_MASK & dwCtlFlags 会生成NDIS_802_11_NETWORK_INFRASTRUCTURE类型的值。 生成的值指示 WZCSVC 是仅连接到基础结构网络、临时网络还是同时连接到这两种类型的网络。 - INTFCTL_ENABLED
- 0x8000
指示 WZCSVC 是否应配置接口。 - INTFCTL_FALLBACK
- 0x4000
如果首选网络不可用,此值指示 WZCSVC 是否应自动配置 NIC 以关联到任何可用网络。 - INTFCTL_OIDSSUPP
- 0x2000
指示 NIC 驱动程序是否支持 WZCSVC 正常运行所需的所有 802.11 OID。 - INTFCTL_VOLATILE
- 0x1000
指示是否应将此接口的服务参数保留在注册表中。
如果设置了此值,则这些参数是可变参数,不应保留在注册表中。- INTFCTL_POLICY
- 0x0800
指示此接口的服务参数是否由组策略推送。
如果设置了此值,则服务参数将通过组策略推送到本地计算机。- INTFCTL_8021XSUPP
- 0x1000
指示是否启用 802.1X 支持。 -
dwDynFlags
-
动态标志的位掩码,控制接口上的动态 (非持久性和非静态) 行为。
这些位可用于触发 WZCSVC 在接口上的操作方式的动态临时更改。 注册表中没有保留这些位,因此在系统重启或设备禁用和启用序列时,这些设置不会继续存在。
下表显示了可能的位值。
值 含义 - INTFDYN_NOSCAN
- 0x00000001
指示 WZCSVC 不应请求接口执行活动扫描,而应使用 NIC 驱动程序中的缓存值。 -
dwCapabilities
-
指定驱动程序功能。
值 含义 - INTFCAP_MAX_CIPHER_MASK
- 0x000000ff
此成员的低阶位用于指示支持的最大加密。 可能的值是在 Windows SDK 中包含的 NtDDNdis.h 头文件中的 NDIS_802_11_WEP_STATUS 结构中定义的一些枚举值。
Ndis802_11Encryption1Enabled值 (2) 表示支持 WEP。 不支持 TKIP 和 AES,传输密钥可能可用,也可能不可用。
Ndis802_11Encryption2Enabled值 (9) 表示支持 TKIP 和 WEP。 不支持 AES,并且提供传输密钥。
Ndis802_11Encryption3Enabled值 (11) 表示支持 AES、TKIP 和 WEP,并且传输密钥可用。
Ndis802_11EncryptionNotSupported (8) 指示不支持 WEP 密钥。- INTFCAP_SSN
- 0x00000100
指示支持简单安全网络 (SSN) 这是 802.11i 的子集。
SSN 会定期更改加密密钥,而不是使用静态密钥的 WEP (有线等效隐私) 标准。 为了使 SSN 正常工作,支持的最大密码应至少为 TKIP。 SSN 由供应商联盟于 2002 年开发,作为提高无线 LAN 安全性的临时方法,而 IEEE 802.11i 标准正在完成。- INTFCAP_80211I
- 0x00000200
指示支持 IEEE 802.11i 标准。 -
rdNicCapabilities
-
802.11i 的一组功能。
使用 dwInflags 参数中传递的 INTF_CAPABILITIES 标志调用时,WZCQueryInterface 函数返回 rdNicCapabilities 数据。 如果函数调用成功,则 RAW_DATA 结构的 pData 成员包含INTF_80211_CAPABILITY结构。
-
rdSSID
-
包含接口上当前配置的 802.11 SSID 的二进制数据。
使用 dwInflags 参数中传递的 INTF_SSID 标志调用时,WZCQueryInterface 函数返回 rdSSID 数据。 如果函数调用成功,则 RAW_DATA 结构的 dwDataLen 成员包含NDIS_802_11_SSID结构的 SsidLength 成员,RAW_DATA 结构的 pData 成员包含NDIS_802_11_SSID结构的 Ssid 成员。
NDIS_802_11_SSID结构在 Ntddndis.h 头文件中定义。
-
rdBSSID
-
包含接口上配置的 802.11 BSSID 的二进制数据。
使用 dwInflags 参数中传递的 INTF_BSSID 标志调用时,WZCQueryInterface 函数返回 rdBSSID 数据。 如果函数调用成功,则 RAW_DATA 结构的 dwDataLen 成员包含NDIS_802_11_MAC_ADDRESS结构的大小,RAW_DATA 结构的 pData 成员包含NDIS_802_11_MAC_ADDRESS结构。
NDIS_802_11_MAC_ADDRESS结构在 Ntddndis.h 头文件中定义。
-
rdBSSIDList
-
包含 WZCSVC 上次检索的 BSSSD 列表的二进制数据。
WZCQueryInterface 函数使用 dwInflags 参数中传递的 INTF_BSSIDLIST 标志调用时返回 rdBSSIDList 数据。 如果函数调用成功,则 RAW_DATA 结构的 dwDataLen 成员包含返回数据的缓冲区长度,RAW_DATA 结构的 pData 成员包含WZC_802_11_CONFIG_LIST结构。
-
rdStSSIDList
-
包含为此接口配置的首选网络列表的二进制数据。
使用 dwInflags 参数中传递的 INTF_PREFLIST 标志调用时,WZCQueryInterface 函数返回 rdStSSIDList 数据。 如果函数调用成功,则 RAW_DATA 结构的 dwDataLen 成员包含返回数据的缓冲区长度,RAW_DATA 结构的 pData 成员包含WZC_802_11_CONFIG_LIST结构。
如果当前连接了其中一个首选网络,则网络的WZC_WLAN_CONFIG结构的 dwCtlFlags 成员将设置WZCCTL_MEDIA_CONNECTED (0x0400) 位。
-
rdCtrlData
-
在接口上设置其他参数时,与其他控件标志一起使用的二进制数据。
备注
INTF_ENTRY 结构由 WZCQueryInterface 和 WZCRefreshInterface 函数使用。
RAW_DATA结构定义如下:
typedef struct
{
DWORD dwDataLen;
LPBYTE pData;
} RAW_DATA, *PRAW_DATA;
pData 成员指向二进制数据。 dwDataLen 指示 pData 指向的字节数。
注意
Wzcsapi.h 头文件在 Windows SDK 中不可用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
具有 SP2 的 Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
客户端支持终止 |
Windows XP with SP3 |
终止服务器支持 |
Windows Server 2003 |
标头 |
|
另请参阅