Поделиться через


OID_DOT11_ENUM_ASSOCIATION_INFO

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_ASSOCIATION_INFO object identifier (OID) requests that the miniport driver return a list of the access point (AP) (for infrastructure basic service set (BSS) networks) or all peer stations (for independent BSS (IBSS) networks) with which the 802.11 station is associated.

The data type for this OID is the DOT11_ASSOCIATION_INFO_LIST structure.

    typedef struct DOT11_ASSOCIATION_INFO_LIST {
         NDIS_OBJECT_HEADER Header;
         ULONG uNumOfEntries;
         ULONG uTotalNumOfEntries;
         DOT11_ASSOCIATION_INFO_EX dot11AssocInfo[1];
    } DOT11_ASSOCIATION_INFO_LIST,   *PDOT11_ASSOCIATION_INFO_LIST;
  

This structure includes the following members:

Header
The type, revision, and size of the DOT11_ASSOCIATION_INFO_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_ASSOCIATION_INFO_LIST_REVISION_1.

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

For more information about these members, see NDIS_OBJECT_HEADER.

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

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

dot11AssocInfo
The association information list.

The data type for the entries in the dot11AssocInfo array is the DOT11_ASSOCIATION_INFO_EX structure.

typedef struct DOT11_ASSOCIATION_INFO_EX {         
         DOT11_MAC_ADDRESS PeerMacAddress;
         DOT11_MAC_ADDRESS BSSID;
         USHORT usCapabilityInformation;
         USHORT usListenInterval;
         UCHAR ucPeerSupportedRates[MAX_NUM_SUPPORTED_RATES_V2];
         USHORT usAssociationID; 
         DOT11_ASSOCIATION_STATE dot11AssociationState;
         DOT11_POWER_MODE dot11PowerMode;
         LARGE_INTEGER liAssociationUpTime;
         ULONGLONG ullNumOfTxPacketSuccesses;
         ULONGLONG ullNumOfTxPacketFailures;
         ULONGLONG ullNumOfRxPacketSuccesses;
         ULONGLONG ullNumOfRxPacketFailures;  
     } DOT11_ASSOCIATION_INFO_EX, *PDOT11_ASSOCIATION_INFO_EX;

This structure includes the following members:

PeerMacAddress
The MAC address of the AP or peer station.

BSSID
The BSS identifier (BSSID). The BSSID is one of the following:

  • The MAC address of the AP.

  • The BSSID of the IBSS network that the peer station is connected to.

usCapabilityInformation
The 802.11 Capability Information field from the Beacon or Probe Response frames that the 802.11 station most recently received from the peer.

usListenInterval
The 802.11 Listen Interval field from the Association Request or Reassociation Request frames the 802.11 station sent to the AP.

If the desired BSS type is dot11_BSS_type_independent, the miniport driver must set this member to zero.

ucPeerSupportedRates
The data rates supported by the AP or peer station. These rates are based on the 802.11 Supported Rates IE from the Beacon or Probe Response frames that the 802.11 station most recently received from the peer.

Each entry in the ucPeerSupportedRates array is the value of an index within the table of data rates returned through a query of OID_DOT11_DATA_RATE_MAPPING_TABLE. The index value must be between 2 and 127.

usAssociationID
The 802.11 Association ID field from the Association or Reassociation Response frames that the 802.11 station received from the AP.

If the desired BSS type is dot11_BSS_type_independent, the miniport driver must set this member to zero.

dot11AssociationState
The 802.11 authentication and association state of the peer. This member can have one of the values of the DOT11_ASSOCIATION_STATE enumeration.

If the desired BSS type is dot11_BSS_type_independent, the miniport driver must not set this member to dot11_assoc_state_auth_assoc. Since the 802.11 authentication procedure is optional for IBSSs, the miniport driver might set this member to dot11_assoc_state_unauth_unassoc even though it is connected to an IBSS network.

dot11PowerMode
Power management mode of the peer. For more information about this structure, see DOT11_POWER_MODE.

If the desired BSS type is dot11_BSS_type_infrastructure, the miniport driver must set this member to dot11_power_mode_active.

liAssociationUpTime
The timestamp when the 802.11 association procedure successfully completed. The miniport driver calls NdisGetCurrentSystemTime to get the timestamp of the association completion.

If the desired BSS type is dot11_BSS_type_independent, the miniport driver must set this member to zero.

ullNumOfTxPacketSuccesses
The number of 802.11 MAC protocol data unit (MPDU), management MPDU (MMPDU), and control frames successfully transmitted to the peer.

ullNumOfTxPacketFailures
The number of 802.11 MPDU, MMPDU, and control frames that failed during transmission to the peer.

ullNumOfRxPacketSuccesses
The number of 802.11 MPDU, MMPDU, and control frames successfully received from the peer.

ullNumOfRxPacketFailures
The number of 802.11 MPDU, MMPDU, and control frames that the 802.11 failed to receive from the peer. This counter must include packets that the 802.11 station received successfully but failed to decrypt.

If the desired BSS type is dot11_BSS_type_infrastructure, the association information list must contain DOT11_ASSOCIATION_INFO_EX data for only the AP with which the 802.11 station is associated. If the 802.11 station is not associated, the miniport driver must return an empty list and set the uNumOfEntries member to zero.

If the desired BSS type is dot11_BSS_type_independent, the association information list must contain DOT11_ASSOCIATION_INFO_EX data for every peer station in the IBSS with which the 802.11 station has connected.

When OID_DOT11_ASSOCIATION_INFO 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_ASSOCIATION_INFO_LIST structure, including all entries in the dot11AssocInfo 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_ASSOCIATION_INFO_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 dot11AssocInfo array.

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

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

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

    • Return NDIS_STATUS_SUCCESS from its MiniportOidRequest function.

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