WFDStartOpenSession 函数 (wlanapi.h)

WFDStartOpenSession 函数启动与特定 Wi-Fi Direct 设备的按需连接,该设备以前已通过 Windows 配对体验配对。

语法

DWORD WFDStartOpenSession(
  [in]           HANDLE                             hClientHandle,
  [in]           PDOT11_MAC_ADDRESS                 pDeviceAddress,
  [in, optional] PVOID                              pvContext,
  [in]           WFD_OPEN_SESSION_COMPLETE_CALLBACK pfnCallback,
  [out]          PHANDLE                            phSessionHandle
);

参数

[in] hClientHandle

Wi-Fi Direct 服务的客户端句柄。 此句柄是通过先前对 WFDOpenHandle 函数的调用获取的。

[in] pDeviceAddress

指向目标设备的 Wi-Fi Direct 设备地址的指针。 这是目标 Wi-Fi 设备的 MAC 地址。

[in, optional] pvContext

传递给 pfnCallback 参数中指定的回调函数的可选上下文指针。

[in] pfnCallback

指向 在 WFDStartOpenSession 请求完成后要调用的回调函数的指针。

[out] phSessionHandle

此特定 Wi-Fi 直接会话的句柄。

返回值

如果函数成功,则返回值为 ERROR_SUCCESS。

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

返回代码 说明
ERROR_INVALID_HANDLE
该句柄无效。

如果在句柄表中找不到 hClientHandle 参数中指定的句柄,则返回此错误。

ERROR_INVALID_PARAMETER
参数不正确。

如果 hClientHandle 参数为 NULL 或无效,则返回此错误。 如果 pDeviceAddress 参数为 NULLpfnCallback 参数为 NULLphSessionHandle 参数为 NULL,则也会返回此错误。 如果 dwClientVersion 参数不等于 WFD_API_VERSION,也会返回此值。

ERROR_INVALID_STATE
组或资源的状态不正确,无法执行请求的操作。

如果域上的组策略禁用了 Wi-Fi Direct 服务,则返回此错误。

ERROR_SERVICE_NOT_ACTIVE
该服务尚未启动。

如果 WLAN 自动配置服务未运行,则返回此错误。

RPC_STATUS
各种错误代码。

注解

WFDStartOpenSession 函数是 Wi-Fi Direct 的一部分,这是 Windows 8 和 Windows Server 2012 中的一项新功能。 Wi-Fi Direct 基于由 Wi-Fi Alliance 开发的 Wi-Fi 对等技术规范 v1.1 (请参阅 Wi-Fi 联盟发布的规范) 。 Wi-Fi 对等技术规范的目标是为 Wi-Fi 设备到设备连接提供解决方案,而无需使用无线接入点 (无线 AP) 来设置连接或使用现有的 Wi-Fi adhoc (IBSS) 机制。

WFDStartOpenSession 函数启动异步操作,以启动与特定 Wi-Fi Direct 设备的按需连接。 目标 Wi-Fi 设备之前必须已通过 Windows 配对体验进行配对。 异步操作完成后,将调用 pfnCallback 参数中指定的回调函数。

如果应用程序尝试在 WFDStartOpenSession 函数异步完成之前通过调用 WFDCloseHandle 函数来关闭 Wi-Fi Direct 服务的句柄,则 WFDCloseHandle 函数将等待 WFDStartOpenSession 调用完成。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 wlanapi.h
Library Wlanapi.lib
DLL Wlanapi.dll

另请参阅

WFDCancelOpenSession

WFDCloseHandle

WFDCloseSession

WFDOpenHandle

WFDOpenLegacySession

WFDUpdateDeviceVisibility

WFD_OPEN_SESSION_COMPLETE_CALLBACK