When set, the OID_802_11_BSSID_LIST_SCAN OID requests that the miniport driver perform a network scan of BSSIDs and SSIDs. No data is associated with this OID. The driver will then be queried for the scan results with OID_802_11_BSSID_LIST.
If the device cannot complete the request, the miniport driver returns NDIS_STATUS_ADAPTER_NOT_READY.
If the radio is turned off, the miniport driver must return NDIS_STATUS_SUCCESS. When OID_802_11_BSSID_LIST is queried, the driver must set the NumberOfItems member to zero in the returned NDIS_802_11_BSSID_LIST_EX.
When the miniport driver receives a set request for this OID, the device can use active or passive scanning methods or a combination of both methods to perform a scan.
If the driver's cached list of non-broadcast SSIDs is not empty, it must scan for these SSIDs using active scanning methods.
For more information about the procedures to be followed for network scans, refer to Scanning 802.11 Networks.
The miniport driver and the underlying NIC must minimize the response time for this OID. Active scanning is preferred, when appropriate.
When performing an active scan, the device will issue IEEE 802.11 probe requests. The device sets the following parameters, as defined in the IEEE 802.11 specifications, in its probe request:
BSSType indicates that both the infrastructure BSS and independent BSS are used.
BSSID indicates that the BSSID is broadcast.
SSID indicates that the SSID is broadcast.
ScanType indicates active, passive, or a combination of both passive and active scanning methods.
ChannelList indicates all permitted frequency channels.
For 802.11a- and 802.11b-capable NICs, a set request of this OID must initiate a scan on both the 802.11a and 802.11b channels. It is recommended that the device perform background scanning across all channels between scan periods and return the full scan list when queried. This would allow the miniport driver to ensure that the scan list is returned within two seconds of this OID being set. The device can also choose the order of channels to scan to ensure that the channels that are used most often are scanned first.
The miniport driver saves the results of the scan within a cached BSSID scan list. This list includes BSSIDs for all BSSs responding on frequency channels that are permitted in the region in which the device is operating. The driver will return the contents of this list when queried by OID_802_11_BSSID_LIST.
The miniport driver must manage its cached BSSID scan list in the following ways:
The driver must clear its BSSID scan list when set by OID_802_11_BSSID_LIST_SCAN before it starts the explicit network scan.
If the device performs implicit network scans in the background, it must update the list of BSSIDs in its BSSID scan list.
If the device is associated with a BSSID that is not contained in the list of BSSIDs resulting from a scan, it must append the BSSID description of the currently associated BSSID and SSID to the cached BSSID scan list.
This OID might be called very frequently (for example, every five seconds). The miniport driver and its underlying NIC must minimize the performance impact of servicing this OID. This OID must not cause the device to associate with a different access point.