OID_DOT11_DESIRED_BSSID_LIST (Compact 2013)
3/26/2014
When set, the OID_DOT11_DESIRED_BSSID_LIST object identifier (OID) requests that the miniport driver set the value of the Extensible Station (ExtSTA) msDot11DesiredBSSIDList management information base (MIB) object to the specified data.
When queried, OID_DOT11_DESIRED_BSSID_LIST requests that the miniport driver return the value of the msDot11DesiredBSSIDList MIB object.
The msDot11DesiredBSSIDList MIB object specifies the list of 802.11 basic service set identifiers (BSSIDs) that the 802.11 station uses when it connects to a basic service set (BSS) network. After OID_DOT11_CONNECT_REQUEST is set, the 802.11 station will try to connect to a BSS with a BSSID that matches an entry from this list.
The data type for this OID is the DOT11_BSSID_LIST structure.
A wildcard BSSID has the value of 0xFFFFFFFFFFFF. The wildcard BSSID matches any BSSID.
A desired BSSID list that contains the wildcard BSSID cannot contain other BSSIDs. When this OID is set, the miniport driver must fail the request by returning NDIS_STATUS_INVALID_DATA from its MiniportOidRequest function if the BSSIDs array contains a wildcard BSSID and uNumOfEntries is greater than one.
If the miniport driver’s desired BSS type is set to dot11_BSS_type_infrastructure, the 802.11 station can associate with a BSS only if the following are true:
- The service set identifier (SSID) of the BSS is in the miniport driver’s desired SSID list. If the desired SSID list contains the wildcard SSID, the 802.11 station can associate with any infrastructure BSS network.
For more information about the wildcard SSID, see DOT11_SSID. - The BSSID of an access point (AP) in the BSS is in the miniport driver’s desired BSSID list. If the desired BSSID list contains the wildcard BSSID, the 802.11 station can associate with any AP in the BSS network.
If the miniport driver’s desired BSS type is set to dot11_BSS_type_independent, the 802.11 station can join or start an IBSS only if the following are true:
- The SSID of the BSS is in the miniport driver’s desired SSID list. If the desired SSID list contains the wildcard SSID, the 802.11 station can connect to any IBSS network.
- If an IBSS is within range, the 802.11 station can connect if the BSSID of the IBSS is in the miniport driver’s desired BSSID list. If the desired BSSID list contains the wildcard BSSID, the 802.11 station can associate with any IBSS within range.
- If an IBSS is not within range, the 802.11 station must start the IBSS network. The 802.11 station uses the first entry from the desired BSSID list as the BSSID for the IBSS network. If the desired BSSID list contains the wildcard BSSID, the 802.11 station can use any locally administered unicast media access control (MAC) address as the BSSID for the IBSS network.
Note
The 802.11 station cannot connect to a BSS network or start an IBSS if its desired BSSID list is empty.
For more information about the desired BSS type, see OID_DOT11_DESIRED_BSS_TYPE.
For more information about the desired SSID list, see OID_DOT11_DESIRED_SSID_LIST.
When OID_DOT11_DESIRED_BSSID_LIST is set, the miniport driver must fail the set request if the uNumOfEntries member has a value greater than the value of uDesiredBSSIDListSize that the driver previously returned through a query of OID_DOT11_EXTSTA_CAPABILITY. In this situation, the miniport driver must return NDIS_STATUS_INVALID_LENGTH from its MiniportOidRequest function.
When OID_DOT11_DESIRED_BSSID_LIST is queried, the miniport driver must verify that the InformationBuffer member of the MiniportOidRequest function’s OidRequest parameter is large enough to return the complete DOT11_BSSID_LIST structure. This includes all entries in the BSSIDs array. The value of the InformationBufferLength member of the OidRequest parameter determines what the miniport driver must do, as the following list shows:
- If the value of the InformationBufferLength member is less than the length, in bytes, of the complete DOT11_BSSID_LIST structure, the miniport driver must do the following:
- Set the uNumOfEntries member to zero
- Set the uTotalNumOfEntries member to the number of entries in the BSSIDs array
- For the OidRequest parameter, set the BytesWritten member to zero and the BytesNeeded member to the length, in bytes, of the complete DOT11_BSSID_LIST structure
- Fail the query request by returning NDIS_STATUS_BUFFER_OVERFLOW from its MiniportOidRequest function
- If the value of the InformationBufferLength member is greater than or equal to than the length, in bytes, of the complete DOT11_BSSID_LIST structure, the miniport driver must do the following to complete a successful query request:
- For the DOT11_BSSID_LIST structure, set the uNumOfEntries and uTotalNumOfEntries members to the total number of entries in the BSSIDs array
- For the OidRequest parameter, set the BytesNeeded member to zero and the BytesWritten member to the length, in bytes, of the complete DOT11_BSSID_LIST structure. The miniport driver must also copy the complete DOT11_BSSID_LIST structure to the InformationBuffer member.
- Return NDIS_STATUS_SUCCESS from its MiniportOidRequest function
The default for the msDot11DesiredBSSIDList MIB object contains a single entry with BSSIDs[0] set to the wildcard BSSID and uNumEntries set to one. The miniport driver must set this MIB object to its default if any of the following occur:
- The miniport driver’s MiniportInitializeEx function is called.
- A method request of OID_DOT11_RESET_REQUEST is made to reset the MAC layer of the 802.11 station and the bSetDefaultMIB member of the DOT11_RESET_REQUEST structure is TRUE.
Requirements
Header |
windot11.h |
See Also
Reference
Native 802.11 Extensible Station OIDs
OID_DOT11_CONNECT_REQUEST
NDIS_OBJECT_HEADER
MiniportOidRequest
OID_DOT11_DESIRED_BSS_TYPE
OID_DOT11_DESIRED_SSID_LIST
OID_DOT11_EXTSTA_CAPABILITY
MiniportInitializeEx
OID_DOT11_RESET_REQUEST
OID_DOT11_RESET_REQUEST
DOT11_RESET_REQUEST
Native 802.11 Wireless LAN OIDs