OID_DOT11_HOPPING_PATTERN

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 queried, the OID_DOT11_HOPPING_PATTERN object identifier (OID) requests that the miniport driver return the list of hopping patterns currently used by the current PHY type on the 802.11 station.

Note  Support for OID_DOT11_HOPPING_PATTERN is mandatory if the NIC supports the dot11_phy_type_fhss PHY type and more than one regulatory domain. For more information about how the miniport driver specifies its list of supported PHY types, see OID_DOT11_SUPPORTED_PHY_TYPES.

 

The data type for OID_DOT11_HOPPING_PATTERN is the DOT11_HOPPING_PATTERN_ENTRY_LIST structure.

    typedef struct _DOT11_HOPPING_PATTERN_ENTRY_LIST {
         ULONG uNumOfEntries;
         ULONG uTotalNumOfEntries;
         DOT11_HOPPING_PATTERN_ENTRY dot11HoppingPatternEntry[1];
    } DOT11_HOPPING_PATTERN_ENTRY_LIST, *PDOT11_HOPPING_PATTERN_ENTRY_LIST;
  

This structure includes the following members:

uNumOfEntries
Number of entries in the dot11HoppingPatternEntry array. A zero value for this member indicates an empty list of hopping patterns.

uTotalNumOfEntries
Maximum number of entries that the dot11HoppingPatternEntry array requires.

dot11HoppingPatternEntry
The list of hopping patterns.

Each element of the dot11HoppingPatternEntry array is formatted as a DOT11_HOPPING_PATTERN_ENTRY structure, which is based on the IEEE 802.11d dot11HoppingPatternEntry MIB object:

typedef struct _DOT11_HOPPING_PATTERN_ENTRY {         ULONG uHoppingPatternIndex;
 ULONG
 uRandomTableFieldNumber; } DOT11_HOPPING_PATTERN_ENTRY, *PDOT11_HOPPING_PATTERN_ENTRY;

This structure includes the following members:

uHoppingPatternIndex
Identifies this entry in the miniport driver's hopping pattern table.

uRandomTableFieldNumber
The starting channel number in the subband for the domain that is identified by the IEEE 802.11 dot11CountryString management information base (MIB) object. For more information about this MIB object, see OID_DOT11_COUNTRY_STRING.

The dot11HoppingPatternEntry MIB object is valid for the frequency-hopping spread spectrum (FHSS) PHY type only. If the current PHY type is not set to dot11_phy_type_fhss, the miniport driver must fail the query request by returning NDIS_STATUS_INVALID_DATA from its MiniportOidRequest function.

When OID_DOT11_HOPPING_PATTERN is queried, the miniport driver must verify that the InformationBuffer member of the MiniportOidRequest function's OidRequest parameter is large enough to return the entire DOT11_HOPPING_PATTERN_ENTRY_LIST structure, including all entries in the dot11HoppingPatternEntry array. The value of the InformationBufferLength member of the OidRequest parameter determines what the miniport driver must do, for example:

  • If the value of the InformationBufferLength member is less than the length, in bytes, of the entire DOT11_HOPPING_PATTERN_ENTRY_LIST structure, the miniport driver must do the following:

    • For the OidRequest parameter, set the BytesWritten member to zero and the BytesNeeded member to the length, in bytes, of the entire DOT11_HOPPING_PATTERN_ENTRY_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 the length, in bytes, of the entire DOT11_HOPPING_PATTERN_ENTRY_LIST structure, the miniport driver must do the following to complete a successful query request:

    • For the DOT11_HOPPING_PATTERN_ENTRY_LIST structure, set the uNumOfEntries and uTotalNumOfEntries members to the total number of entries in the dot11HoppingPatternEntry array.

    • For the OidRequest parameter, set the BytesNeeded member to zero and the BytesWritten member to the length, in bytes, of the entire DOT11_HOPPING_PATTERN_ENTRY_LIST structure. The miniport driver must also copy the entire DOT11_RECV_SENSITIVITY_LIST structure to the InformationBuffer member and the entire DOT11_HOPPING_PATTERN_ENTRY_LIST structure to the InformationBuffer member.

    • Return NDIS_STATUS_SUCCESS from its MiniportOidRequest function.

If the miniport driver is operating in Extensible Station (ExtSTA) mode, the current PHY type is determined through the ExtSTA msDot11CurrentPhyID MIB object. This MIB object specifies the index of the current PHY type within the 802.11 station's list of supported PHY types. For more information about msDot11CurrentPhyID, see OID_DOT11_CURRENT_PHY_ID.

Note  A Native 802.11 miniport driver that is designed to run on the Windows Vista or Windows Server 2008 operating systems must always reset this 802.11 MIB OID to its default value. This is the case regardless of the value of the bSetDefaultMIB member of the DOT11_RESET_REQUEST structure. This requirement applies to a miniport driver that, in a call to the NdisMSetMiniportAttributes function, sets MiniportAttributes -> Native_802_11_Attributes -> Header -> Revision to NDIS_MINIPORT_ADAPTER_802_11_ATTRIBUTES_REVISION_1.

 

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 MIB OIDs

Native 802.11 Wireless LAN OIDs