OID_DOT11_ENUM_BSS_LIST

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.

 

When a method request of the OID_DOT11_ENUM_BSS_LIST OID is made, the miniport driver must return a list of the basic service set (BSS) networks within range of the 802.11 station. For more information about the method request type, see NDIS_OID_REQUEST.

The miniport driver derives this list from the cache of BSS networks that the 802.11 station detected during the most recent scan operation. For more information about scan operations, see OID_DOT11_SCAN_REQUEST.

When the method request of OID_DOT11_ENUM_BSS_LIST is made through a call to the miniport driver's MiniportOidRequest function, the InformationBuffer member of the OidRequest parameter contains a three-character country string as defined in the IEEE 802.11d-2001 standard. For more information about country strings, see OID_DOT11_COUNTRY_STRING.

The miniport driver completes the method request by overwriting the InformationBuffer member with a DOT11_BYTE_ARRAY structure. The miniport driver sets the members of this structure as follows:

Header
The type and size of the DOT11_BYTE_ARRAY structure and the revision of the DOT11_BSS_ENTRY structures that follow it. This member is formatted as an NDIS_OBJECT_HEADER structure.

The miniport driver must set the members of Header to the following values:

Type
This member must be set to NDIS_OBJECT_TYPE_DEFAULT.

Revision
This member must be set to DOT11_BSS_ENTRY_BYTE_ARRAY_REVISION_1.

Size
This member must be set to sizeof(DOT11_BYTE_ARRAY).

For more information about these members, see NDIS_OBJECT_HEADER.

uNumOfBytes
Number of bytes within the ucBuffer array. A zero value for this member indicates an empty BSS list.

uTotalNumOfBytes
Maximum number of bytes that the ucBuffer array requires.

ucBuffer
The BSS list.

Each entry in the BSS list is formatted as a DOT11_BSS_ENTRY structure.

When this OID is queried, the miniport driver must do the following:

  • Verify that the InformationBuffer member of its MiniportOidRequest function's OidRequest parameter is large enough to return the BSS list. For more information about this procedure, see DOT11_BYTE_ARRAY.

  • The DOT11_BSS_ENTRY structure has a variable length. However, the miniport driver must not add padding for alignment between DOT11_BSS_ENTRY structures returned in the InformationBuffer member of the OidRequest parameter.

  • Use the following formula for calculating the values of the uNumOfBytes and uTotalNumOfBytes members of the DOT11_BYTE_ARRAY structure:

     FIELD_OFFSET(DOT11_BSS_ENTRY, ucBuffer) + uBufferLength 
    
  • If the 802.11 station is connected to an infrastructure BSS network, include an entry in the BSS list for the AP with which the 802.11 station is currently associated. The DOT11_BSS_ENTRY entry must reflect the last 802.11 Beacon or Probe Response frame received from the AP, regardless of whether these frames were received when the Native 802.11 miniport driver was performing the scan operation.

If an 802.11n PHY is used to detect the BSS network, the miniport driver should perform the following operations.

  • Set the uPhyId member of DOT11_BSS_ENTRY to the dot11_phy_type_ht value.

  • Set the DOT11_BSS_ENTRY-> PhySpecificInfo -> uChCenterFrequency member to the appropriate channel center frequency, in MHz.

Requirements

Version

Available in Windows Vista and later versions of the Windows operating systems.

Header

Windot11.h (include Ndis.h)

See also

Native 802.11 Wireless LAN OIDs