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 结构由 WZCQueryInterfaceWZCRefreshInterface 函数使用。

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
标头
Wzcsapi.h

另请参阅

WZCEnumInterfaces

WZCQueryInterface

WZCRefreshInterface