OID_WDI_SET_P2P_START_BACKGROUND_DISCOVERY

重要

本主题是 Windows 10 中发布的 WDI 驱动程序模型的一部分。 WDI 驱动程序模型处于维护模式,仅会收到高优先级修补程序。 WiFiCx 是 Windows 11 中发布的Wi-Fi驱动程序模型。 建议使用 WiFiCx 来利用最新功能。

OID_WDI_SET_P2P_START_BACKGROUND_DISCOVERY指示适配器定期在后台执行Wi-Fi直接发现

范围 使用任务序列化的设置 正常执行时间 (秒) 影响数据吞吐量/延迟
端口 1

适配器需要定期扫描指定的通道,并且能够找到在设备可见性超时 (通常为 5 分钟) 的设备。 此行为类似于 OID_WDI_TASK_P2P_DISCOVER) 中定义的常规Wi-Fi Direct Discovery 扫描 ( ,但它没有时间限制,适配器可能会在以后的某个时间点安排扫描。 适配器必须在每个设备可见性超时内至少执行一次扫描。 如果设备可见性超时为 0,则适配器应使用自己的周期时间继续定期扫描。 如果在此期间发出 DISCOVER 或 SCAN 任务请求,适配器应在任务持续时间内暂停后台发现,并在任务完成后继续。 完成后台扫描后,设备应发送事务 ID 等于 0) (NDIS_STATUS_WDI_INDICATION_P2P_DISCOVERY_COMPLETE指示, 让操作系统知道它已完成扫描。 适配器必须在每次完成后台扫描时发送此指示。

如果提供了通道列表,则适配器应仅在指定的通道上扫描。 否则,它应扫描所有通道。 如果固件碰巧在指定通道之外发现设备,它仍应将信息发送到操作系统。

当指定侦听持续时间和通道 (WDI_TLV_P2P_DISCOVERY_CHANNEL_SETTINGS) 时,它们引用远程设备的侦听时间。 根据“侦听持续时间”和“通道”的所有值,适配器需要制定一个计划,以最有效的方式扫描请求的通道。 操作系统还可以指定侦听持续时间和通道的多个实例。 在这种情况下,适配器应首先为具有非零值的“侦听持续时间”和“通道列表”的条目提供扫描计划。 然后,适配器应在以下情况下使用默认值:

  1. 如果侦听持续时间为 0,则适配器应使用指定通道的默认扫描时间。
  2. 如果通道列表为空,适配器应使用为该频带指定的侦听和周期时间扫描该带中的所有通道。 扫描时间不适用于具有由操作系统指定的单独侦听持续时间的任何通道。

当 NIC 处于 D0 中时,适配器指示对特定服务名称的探测请求的响应 () 作为 NDIS_STATUS_WDI_INDICATION_BSS_ENTRY_LIST 通知到操作系统。 WDI 缓存更高层服务的 OS 的响应信息,并在必要时通知它们。

当 NIC 处于 D2 中时,它会暂停后台发现,直到它返回到 D0。

设置属性参数

TLV 允许多个 TLV 实例 可选 说明
WDI_TLV_P2P_BACKGROUND_DISCOVER_MODE Wi-Fi直接后台发现模式参数。
WDI_TLV_P2P_DISCOVERY_CHANNEL_SETTINGS X X 要扫描的建议通道列表。
WDI_TLV_P2P_DEVICE_FILTER_LIST X Wi-Fi Direct 设备发现期间要搜索的Wi-Fi Direct 设备和组所有者的列表。
WDI_TLV_P2P_SERVICE_NAME_HASH X X 要查询的服务哈希名称的列表。 如果指定了WDI_P2P_SERVICE_DISCOVERY_TYPE_SERVICE_NAME_ONLY,则这是必需的。
WDI_TLV_VENDOR_SPECIFIC_IE X 必须包含在端口发送的探测请求中的一个或多个 IDE。

设置属性结果

没有其他数据。 标头中的数据就足够了。

未经请求的指示

NDIS_STATUS_WDI_INDICATION_BSS_ENTRY_LIST

要求

最低受支持的客户端

Windows 10

最低受支持的服务器

Windows Server 2016

标头

Dot11wdi.h