General Roaming Operation Guidelines
Important The Native 802.11 Wireless LAN interface is deprecated in Windows 10 and later. Please use the WLAN Device Driver Interface (WDI) instead. For more information about WDI, see WLAN Universal Windows driver model.
The miniport driver can perform any number of roaming operations while connected to a basic service set (BSS) network. When performing the roaming operation, the miniport driver and 802.11 station must follow these guidelines regardless of the type of BSS network the station is configured for:
The miniport driver must have previously completed a connection operation to a BSS network and must be in the operational (OP) state. For more information about the connection operation, see Connection Operations. For more information about the OP state, see Extensible Station Operating States.
The miniport driver must ensure that it has the resources available in order to make the media-specific indications required for the roaming operation. The miniport driver makes the following indications during the roaming operation:
The miniport driver must enclose the roaming operation between NDIS_STATUS_DOT11_ROAMING_START and NDIS_STATUS_DOT11_ROAMING_COMPLETION indications.
The 802.11 station forms a list of candidate BSS networks following the guidelines described in BSS Network Candidate List. If the candidate list is empty, the 802.11 station must not perform the roaming operation.
The miniport driver starts the roaming operation by making an NDIS_STATUS_DOT11_ROAMING_START indication. When it makes this indication, the miniport driver provides information about the reason for the roaming operation. If connected to an IBSS network, the driver also provides the SSID and BSSID of the IBSS network to which the 802.11 station is roaming.
After the miniport driver makes an NDIS_STATUS_DOT11_ROAMING_START indication, it cannot start another roaming operation until it makes an NDIS_STATUS_DOT11_ROAMING_COMPLETION indication.
The miniport driver will initiate an association operation with entries from the 802.11 station's candidate list. The miniport driver must enclose the association operation between NDIS_STATUS_DOT11_ASSOCIATION_START and NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION indications. For more information about the association operation, see Association Operations.
If configured for operations within an infrastructure network, the miniport driver must perform the association operation by following the guidelines described in Roaming Operation Guidelines for Infrastructure BSS Networks.
If configured for operations within an IBSS network, the miniport driver must perform the association operation by following the guidelines described in Roaming Operation Guidelines for Independent BSS Networks.
The miniport driver makes an NDIS_STATUS_DOT11_ROAMING_COMPLETION indication to report the status of the roaming operation.
The miniport driver successfully completes the roaming operation whenever any of the following happens:
The 802.11 station has successfully associated with an AP in an infrastructure BSS network.
The 802.11 station has successfully associated with at least one peer station in an IBSS network.
Note If the 802.11 station successfully roams to a BSS network, the miniport driver must not make a status indication of NDIS_STATUS_MEDIA_CONNECT.
The miniport driver fails the roaming operation whenever any of the following happens:
- The 802.11 station has failed to associate with any AP or peer station. Examples of roaming operation failures include:
- The 802.11 station has exhausted its list of candidate BSS networks without a successful association.
- All of the PHYs on the 802.11 station have been turned off during the roaming operation. For example, a PHY can be turned off through a set request of OID_DOT11_NIC_POWER_STATE.
- The operating system makes a method request of OID_DOT11_RESET_REQUEST or a set request of OID_DOT11_DISCONNECT_REQUEST.
If the roaming operation fails, the miniport driver must remain in the OP operating state and must periodically perform other roaming operations while in that state.
The following figure shows the sequence of events during a roaming operation.