WZCQueryInterface 函数
[从 Windows Vista 和 Windows Server 2008 开始不再支持 WZCQueryInterface 。 请改用 WlanQueryInterface 函数。 有关详细信息,请参阅 关于 Native Wifi API。 ]
WZCQueryInterface 函数提供由无线零配置服务管理的无线 LAN 接口的详细信息。
提供给定接口的详细信息。
语法
DWORD WZCQueryInterface(
_In_ LPWSTR pSrvAddr,
_In_ DWORD dwInFlags,
_Inout_ PINTF_ENTRY pIntf,
_Out_ LPDWORD pdwOutFlags
);
参数
-
pSrvAddr [in]
-
指向字符串的指针,该字符串包含要执行此函数的计算机的名称。 如果此参数为 NULL,则在本地计算机上查询无线零配置服务。
如果指定的 pSrvAddr 参数是远程计算机,则远程计算机必须支持远程 RPC 调用。
-
dwInFlags [in]
-
要查询的字段。 这是可以包含以下标志的任意组合的位掩码。
值 含义 - INTF_DYNFLAGS
- 0x00000010
返回 pIntf 参数指向的 INTF_ENTRY 结构中 dwDynFlags 成员的值。 - INTF_DESCR
- 0x00010000
返回 pIntf 参数指向的 INTF_ENTRY 结构中 wszDescr 成员的值。 - INTF_NDISMEDIA
- 0x00020000
返回 pIntf 参数指向的INTF_ENTRY结构中 ulMediaState、ulMediaType 和 ulPhysicalMediaType 成员的值。 - INTF_PREFLIST
- 0x00040000
返回 pIntf 参数指向的 INTF_ENTRY 结构的 rdStSSIDList 成员中的首选网络列表。 - INTF_CAPABILITIES
- 0x00080000
返回 pIntf 参数指向的 INTF_ENTRY 结构中 dwCapabilities 和 rdNicCapabilities 成员的值。 - INTF_INFRAMODE
- 0x00200000
返回 pIntf 参数指向的 INTF_ENTRY 结构中的 nInfraMode 成员的值。
nInfraMode 成员仅在某些接口上下文状态中有效。- INTF_AUTHMODE
- 0x00400000
返回 pIntf 参数指向的 INTF_ENTRY 结构中的 nAuthMode 成员的值。
nAuthMode 成员仅在某些接口上下文状态中有效。- INTF_WEPSTATUS
- 0x00800000
返回 pIntf 参数指向的 INTF_ENTRY 结构中 nWepStatus 成员的值。
nWepStatus 成员仅在某些接口上下文状态中有效。- INTF_SSID
- 0x01000000
返回 pIntf 参数指向的 INTF_ENTRY 结构中 rdSSID 成员的值。
rdSSID 成员仅在某些接口上下文状态下有效。- INTF_BSSID
- 0x02000000
返回 pIntf 参数指向的 INTF_ENTRY 结构中 rdBSSID 成员的值。
rdBSSID 成员仅在某些接口上下文状态中有效。- INTF_BSSIDLIST
- 0x04000000
返回 pIntf 参数指向的 INTF_ENTRY 结构的 rdBSSIDList 成员中的可见网络列表。
rdBSSIDList 成员仅在某些接口上下文状态中有效。 -
pIntf [in, out]
-
输入时,指向要查询的接口的键的指针。 输出时,指向所请求接口数据的指针。 此参数是指向 INTF_ENTRY 结构的指针。
-
pdwOutFlags [out]
-
已成功检索一组字段。
返回值
如果函数成功,则返回值为 ERROR_SUCCESS。
如果函数失败,则返回值可能是以下返回代码之一。
返回代码 | 说明 |
---|---|
|
存储控制块已销毁。 如果无线零配置服务尚未初始化内部对象,则返回此错误。 |
|
系统找不到指定的文件。 如果 pIntf 参数指向的 INTF_ENTRY 结构的 wszGuid 成员中的 GUID 与本地计算机上的任何无线 LAN 接口都不匹配,则返回此错误。 |
|
参数不正确。 如果 pIntf 参数为 NULL,则返回此错误。 如果 pIntf 参数指向的 INTF_ENTRY 结构的 wszGuid 成员为 NULL,则返回此错误。 |
|
没有足够的内存可用于处理此请求并为查询结果分配内存。 |
|
各种错误代码。 |
备注
pIntf 参数指向的 INTF_ENTRY 结构的 wszGuid 成员必须包含无线 LAN 接口的接口 GUID。 可以通过调用 WZCEnumInterfaces 函数来检索无线 LAN 接口的列表。
在调用 WZCQueryInterface 函数之前,必须将 pIntf 指向的 INTF_ENTRY 结构的以下成员设置为 0:rdSSID、rdBSSID、rdBSSIDList、rdStSSIDList 和 rdCtrlData。
无线零配置服务不会自动更新媒体状态,即使收到媒体连接和断开连接事件也是如此。 如果要请求 NDIS 媒体状态, (dwInFlags 参数) 设置INTF_NDISMEDIA位,应用程序应通过调用 WZCRefreshInterface 函数来强制刷新媒体状态,然后再调用 WZCQueryInterface 函数。
当 dwInFlags 参数包含INTF_BSSIDLIST时,如果可见的网络列表为空,WZCQueryInterface 函数不会使用 INTF_BSSIDLIST 设置 dwOutFlags。 当 dwInFlags 参数包含INTF_SSID时,如果没有 SSID 可用,WZCQueryInterface 函数不会使用 INTF_SSID 设置 dwOutFlags。
如果 WZCQueryInterface 函数返回ERROR_SUCCESS,调用方应使用 pIntf 参数调用 LocalFree 函数,以便在不再需要此信息后释放为返回的数据分配的内部缓冲区。 这将释放由 pIntf 参数指向的INTF_ENTRY结构的 rdSSID、rdBSSID、rdBSSIDList、rdStSSIDList 和 rdCtrlData 成员使用的缓冲区。
注意
Wzcsapi.h 头文件和 Wzcsapi.lib 导入库文件在 Windows SDK 中不可用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP SP2 [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
终止客户端支持 |
Windows XP with SP3 |
终止服务器支持 |
Windows Server 2003 |
标头 |
|
库 |
|
DLL |
|
另请参阅