Partager via


OID_DOT11_EXCLUDED_MAC_ADDRESS_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 set, the OID_DOT11_EXCLUDED_MAC_ADDRESS_LIST object identifier (OID) requests that the miniport driver set the value of the Extensible Station (ExtSTA) msDot11ExcludedMacAddressList management information base (MIB) object to the specified data.

When queried, OID_DOT11_EXCLUDED_MAC_ADDRESS_LIST requests that the miniport driver return the value of the msDot11ExcludedMacAddressList MIB object.

The msDot11ExcludedMacAddressList MIB object specifies the list of media access control (MAC) addresses of remote stations that the 802.11 station must not connect to. When OID_DOT11_CONNECT_REQUEST is set, the 802.11 station must attempt to connect with any remote station, such as an access point (AP) in an infrastructure basic service set (BSS) network or peer station in an independent BSS (IBSS) network, that does not have a MAC address within the excluded MAC address list.

The data type for OID_DOT11_EXCLUDED_MAC_ADDRESS_LIST is the DOT11_MAC_ADDRESS_LIST structure.

    typedef struct DOT11_MAC_ADDRESS_LIST {
         NDIS_OBJECT_HEADER Header;
         ULONG uNumOfEntries;
         ULONG uTotalNumOfEntries;
         DOT11_MAC_ADDRESS MacAddrs[1];
    } DOT11_MAC_ADDRESS_LIST,   *PDOT11_MAC_ADDRESS_LIST;
  

This structure includes the following members:

Header
The type, revision, and size of the DOT11_MAC_ADDRESS_LIST structure. 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_MAC_ADDRESS_LIST_REVISION_1.

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

For more information about these members, see NDIS_OBJECT_HEADER.

uNumOfEntries
Number of entries in the MacAddrs array. A zero value for this member indicates an empty excluded MAC address list.

uTotalNumOfEntries
Maximum number of entries that the MacAddrs array can contain.

MacAddrs
The excluded MAC address list. For more information about the data type of this member, see DOT11_MAC_ADDRESS.

A wildcard MAC address has the value of 0xFFFFFFFFFFFF. The wildcard MAC address matches the MAC address of any AP or peer station. If the excluded MAC address list contains the wildcard MAC address, the 802.11 station must not connect to any AP or peer station.

Note  A list of excluded MAC address that contains the wildcard MAC address must be the only entry in the list.

 

When OID_DOT11_EXCLUDED_MAC_ADDRESS_LIST is set, the miniport driver should ensure that the value of the InformationBufferLength member of the MiniportOidRequest function's OidRequest parameter is at least the value returned by the following formula:

 FIELD_OFFSET(DOT11_MAC_ADDRESS_LIST, MacAddrs) + uNumOfEntries * sizeof(DOT11_MAC_ADDRESS))

When OID_DOT11_EXCLUDED_MAC_ADDRESS_LIST is set, the miniport driver must:

  • Fail the set request if the excluded MAC address list contains the wildcard MAC address but the uNumOfEntries member is not set to one. In this situation, the miniport driver must return NDIS_STATUS_INVALID_DATA from its MiniportOidRequest function.

  • Fail the set request if the uNumOfEntries member has a value greater than the value of uExcludedMacAddressListSize 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.

  • Overwrite the 802.11 station's excluded MAC address list with the entries from the MacAddrs array. If an entry has the MAC address of the AP or peer station that the 802.11 station is connected to, the 802.11 station must disassociate and roam to another station. For more information about the procedures for disassociating and roaming, see Disassociation Operations and Roaming Operations.

When OID_DOT11_EXCLUDED_MAC_ADDRESS_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 entire DOT11_MAC_ADDRESS_LIST structure, including all entries in the MacAddrs 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 entire DOT11_MAC_ADDRESS_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 MacAddrs array.

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

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

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

    • Return NDIS_STATUS_SUCCESS from its MiniportOidRequest function.

The default for the msDot11ExcludedMacAddressList MIB object is an empty list with uNumEntries set to zero. 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

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