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结构中 ulMediaStateulMediaTypeulPhysicalMediaType 成员的值。
INTF_PREFLIST
0x00040000
返回 pIntf 参数指向的 INTF_ENTRY 结构的 rdStSSIDList 成员中的首选网络列表。
INTF_CAPABILITIES
0x00080000
返回 pIntf 参数指向的 INTF_ENTRY 结构中 dwCapabilitiesrdNicCapabilities 成员的值。
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。

如果函数失败,则返回值可能是以下返回代码之一。

返回代码 说明
ERROR_ARENA_TRASHED
存储控制块已销毁。 如果无线零配置服务尚未初始化内部对象,则返回此错误。
ERROR_FILE_NOT_FOUND
系统找不到指定的文件。 如果 pIntf 参数指向的 INTF_ENTRY 结构的 wszGuid 成员中的 GUID 与本地计算机上的任何无线 LAN 接口都不匹配,则返回此错误。
ERROR_INVALID_PARAMETER
参数不正确。 如果 pIntf 参数为 NULL,则返回此错误。 如果 pIntf 参数指向的 INTF_ENTRY 结构的 wszGuid 成员为 NULL,则返回此错误。
ERROR_NOT_ENOUGH_MEMORY
没有足够的内存可用于处理此请求并为查询结果分配内存。
RPC_STATUS
各种错误代码。

 

备注

pIntf 参数指向的 INTF_ENTRY 结构的 wszGuid 成员必须包含无线 LAN 接口的接口 GUID。 可以通过调用 WZCEnumInterfaces 函数来检索无线 LAN 接口的列表。

在调用 WZCQueryInterface 函数之前,必须将 pIntf 指向的 INTF_ENTRY 结构的以下成员设置为 0:rdSSIDrdBSSIDrdBSSIDListrdStSSIDListrdCtrlData

无线零配置服务不会自动更新媒体状态,即使收到媒体连接和断开连接事件也是如此。 如果要请求 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结构的 rdSSIDrdBSSIDrdBSSIDListrdStSSIDListrdCtrlData 成员使用的缓冲区。

注意

Wzcsapi.h 头文件和 Wzcsapi.lib 导入库文件在 Windows SDK 中不可用。

 

要求

要求
最低受支持的客户端
Windows XP SP2 [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
终止客户端支持
Windows XP with SP3
终止服务器支持
Windows Server 2003
标头
Wzcsapi.h

Wzcsapi.lib
DLL
Wzcsapi.dll

另请参阅

INTF_ENTRY

WZCEapolGetInterfaceParams

WZCEnumInterfaces

WZCRefreshInterface