OID_DOT11_STATISTICS

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_STATISTICS object identifier (OID) requests that the miniport driver return the statistics for the IEEE 802.11 interface, including:

  • Statistics for the IEEE media access control (MAC) layer of the 802.11 station.

  • Statistics for the IEEE PHY layer of the 802.11 station for each supported PHY.

The data type for this OID is the DOT11_STATISTICS structure.

    typedef struct DOT11_STATISTICS {
         NDIS_OBJECT_HEADER Header;
         ULONGLONG ullFourWayHandshakeFailures;
         ULONGLONG ullTKIPCounterMeasuresInvoked;
         ULONGLONG ullReserved;
         DOT11_MAC_FRAME_STATISTICS MacUcastCounters;
         DOT11_MAC_FRAME_STATISTICS MacMcastCounters;
         DOT11_PHY_FRAME_STATISTICS PhyCounters[];
    } DOT11_STATISTICS, *PDOT11_STATISTICS;
  

This structure includes the following members:

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

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

For more information about these members, see NDIS_OBJECT_HEADER.

ullFourWayHandshakeFailures
The number of four-way handshake failures that the 802.11 station encountered during Wi-Fi Protected Access (WPA) or Robust Security Network Association (RSNA) authentication.

If the 802.11 station is not performing the WPA or RSNA authentication, it must not write to this member.

ullTKIPCounterMeasuresInvoked
The number of times that the 802.11 station invoked countermeasures following a message integrity code (MIC) failure.

If the 802.11 station is not performing TKIP countermeasures, it must not write to this member.

ullReserved
This member is reserved for use by the operating system. The miniport driver must not write to this member.

MacUcastCounters
The MAC layer counters based on unicast packets sent or received by the 802.11 station. The data structure for this member is the DOT11_MAC_FRAME_STATISTICS structure.

Note  The miniport driver must increment counters for received unicast packets only for those packets with a destination MAC address in the 802.11 MAC header that matches the 802.11 station's MAC address.

 

MacMcastCounters
The MAC layer counters based on multicast or broadcast packets sent or received by the 802.11 station. The data structure for this member is the DOT11_MAC_FRAME_STATISTICS structure.

Note  The miniport driver must increment counters for received multicast packets if the MAC address in the 802.11 MAC header matches an entry in the multicast address list of the 802.11 station. For more information about the multicast address list, see OID_DOT11_MULTICAST_LIST. The driver must increment counters on receipt of broadcast packets that match the currently configured packet filter. For more information about packet filters, see OID_GEN_CURRENT_PACKET_FILTER.

 

PhyCounters
An array of PHY layer counters. Each entry in this array is formatted as a DOT11_PHY_FRAME_STATISTICS structure.

The driver must maintain separate copies of the DOT11_PHY_FRAME_STATISTICS structure for each supported PHY.

The miniport driver returns the list of supported PHYs when queried by OID_DOT11_SUPPORTED_PHY_TYPES.

When OID_DOT11_STATISTICS is queried, the miniport driver must return an entry in the PhyCounters array for each supported PHY.

The data type for the MacUcastCounters and MacMcastCounters members is the DOT11_MAC_FRAME_STATISTICS structure.

typedef struct DOT11_MAC_FRAME_STATISTICS {         
         ULONGLONG ullTransmittedFrameCount;
         ULONGLONG ullReceivedFrameCount;
         ULONGLONG ullWEPExcludedCount;
         ULONGLONG ullTKIPLocalMICFailures;
         ULONGLONG ullTKIPReplays;
         ULONGLONG ullTKIPICVErrorCount;
         ULONGLONG ullCCMPFormatErrors;
         ULONGLONG ullCCMPReplays;         
         ULONGLONG ullCCMPDecryptErrors;
         ULONGLONG ullWEPUndecryptableCount;
         ULONGLONG ullWEPICVErrorCount;         
         ULONGLONG ullDecryptSuccessCount;
         ULONGLONG ullDecryptFailureCount;   
     } DOT11_MAC_STATISTICS, * PDOT11_MAC_STATISTICS;

The members of this structure are used to record MAC-level statistics for:

  • MAC service data unit (MSDU) packets.

  • MAC protocol data unit (MPDU) frames.

    MPDU frame counters must include all MPDU fragments sent for an MSDU packet.

  • Management MPDU (MMPDU) frames.

This structure includes the following members:

ullTransmittedFrameCount
The number of MSDU packets and MMPDU frames that the IEEE MAC layer of the 802.11 station successfully transmitted.

ullReceivedFrameCount
The number of MSDU packets and MMPDU frames that the IEEE MAC layer of the 802.11 station successfully received. This member should not be incremented for received packets that failed cipher decryption or MIC validation.

ullWEPExcludedCount
The number of unencrypted received MPDU frames that the MAC layer discarded when the IEEE 802.11 dot11ExcludeUnencrypted management information base (MIB) object is enabled. For more information about this MIB object, see OID_DOT11_EXCLUDE_UNENCRYPTED.

MPDU frames are considered unencrypted when the Protected Frame subfield of the Frame Control field in the IEEE 802.11 MAC header is set to zero.

ullTKIPLocalMICFailures
The number of received MSDU packets that the 802.11 station discarded because of MIC failures.

ullTKIPReplays
The number of received MPDU frames that the 802.11 station discarded because of the TKIP replay protection procedure.

ullTKIPICVErrorCount
The number of encrypted MPDU frames that the 802.11 station failed to decrypt because of a TKIP ICV error.

ullCCMPFormatErrors
The number of received MPDU frames that the 802.11 discarded because of an invalid AES-CCMP format.

ullCCMPReplays
The number of received MPDU frames that the 802.11 station discarded because of the AES-CCMP replay protection procedure.

ullCCMPDecryptErrors
The number of received MPDU frames that the 802.11 station discarded because of errors detected by the AES-CCMP decryption algorithm.

ullWEPUndecryptableCount
The number of encrypted MPDU frames received for which a WEP decryption key was not available on the 802.11 station.

ullWEPICVErrorCount
The number of encrypted MPDU frames that the 802.11 station failed to decrypt because of a WEP ICV error.

ullDecryptSuccessCount
The number of received encrypted packets that the 802.11 station successfully decrypted.

For the WEP and TKIP cipher algorithms, the miniport driver must increment this counter for each received encrypted MPDU that was successfully decrypted. For the AES-CCMP cipher algorithm, the miniport driver must increment this counter on each received encrypted MSDU packet that was successfully decrypted.

ullDecryptFailureCount
The number of encrypted packets that the 802.11 station failed to decrypt.

For the WEP and TKIP cipher algorithms, the miniport driver must increment this counter for each received encrypted MPDU that was not successfully decrypted. For the AES-CCMP cipher algorithm, the miniport driver must increment this counter on each received encrypted MSDU packet that was not successfully decrypted.

The miniport driver must not increment this counter for packets that are decrypted successfully, but are discarded for other reasons. For example, the miniport driver must not increment this counter for packets discarded because of TKIP MIC failures or TKIP/CCMP replays.

The data type for the elements of the PhyCounters array is the DOT11_PHY_FRAME_STATISTICS structure.

typedef struct DOT11_PHY_FRAME_STATISTICS {         
         ULONGLONG ullTransmittedFrameCount;
         ULONGLONG ullMulticastTransmittedFrameCount;
         ULONGLONG ullFailedCount;
         ULONGLONG ullRetryCount;
         ULONGLONG ullMultipleRetryCount;         
         ULONGLONG ullMaxTXLifetimeExceededCount;
         ULONGLONG ullTransmittedFragmentCount;
         ULONGLONG ullRTSSuccessCount;
         ULONGLONG ullRTSFailureCount;
         ULONGLONG ullACKFailureCount;
         ULONGLONG ullReceivedFrameCount;         
         ULONGLONG ullMulticastReceivedFrameCount;
         ULONGLONG ullPromiscuousReceivedFrameCount;         
         ULONGLONG ullMaxRXLifetimeExceededCount;
         ULONGLONG ullFrameDuplicateCount;         
         ULONGLONG ullReceivedFragmentCount;
         ULONGLONG ullPromiscuousReceivedFragmentCount;         
         ULONGLONG ullFCSErrorCount;   
     } DOT11_PHY_FRAME_STATISTICS,  *PDOT11_PHY_FRAME_STATISTICS;

The members of this structure are used to record PHY-level statistics for:

  • MAC service data unit (MSDU) packets.

  • MAC protocol data unit (MPDU) frames.

    MPDU frame counters must include all MPDU fragments sent for an MSDU packet.

  • Management MPDU (MMPDU) frames.

This structure includes the following members:

ullTransmittedFrameCount
The number of MSDU packets and MMPDU frames that the IEEE PHY layer of the 802.11 station has successfully transmitted.

ullMulticastTransmittedFrameCount
The number of multicast or broadcast MSDU packets and MMPDU frames that the IEEE PHY layer of the 802.11 station has successfully transmitted.

ullFailedCount
The number of MSDU packets and MMPDU frames that the 802.11 station failed to transmit after exceeding the retry limits defined by the 802.11 IEEE dot11ShortRetryLimit or dot11LongRetryLimit MIB counters. For more information about these MIB counters, see OID_DOT11_SHORT_RETRY_LIMIT or OID_DOT11_LONG_RETRY_LIMIT.

ullRetryCount
The number of MSDU packets and MMPDU frames that the 802.11 station successfully transmitted after one or more attempts.

ullMultipleRetryCount
The number of MSDU packets and MMPDU frames that the 802.11 station successfully transmitted after more than one retransmission attempt.

For MSDU packets, the miniport driver must increment this counter for each packet that was transmitted successfully after one or more of its MPDU fragments required retransmission.

ullMaxTXLifetimeExceededCount
The number of MSDU packets and MMPDU frames that the 802.11 station failed to transmit because of a timeout as defined by the IEEE 802.11 dot11MaxTransmitMSDULifetime MIB object. For more information about this MIB object, see OID_DOT11_MAX_TRANSMIT_MSDU_LIFETIME.

ullTransmittedFragmentCount
The number of MPDU frames that the 802.11 station transmitted and acknowledged through a received 802.11 ACK frame.

ullRTSSuccessCount
The number of times that the 802.11 station received a Clear To Send (CTS) frame in response to a Request To Send (RTS) frame.

ullRTSFailureCount
The number of times that the 802.11 station did not receive a CTS frame in response to an RTS frame.

ullACKFailureCount
The number of times that the 802.11 station expected and did not receive an Acknowledgement (ACK) frame.

ullReceivedFrameCount
The number of MSDU packets and MMPDU frames that the 802.11 station has successfully received.

For MSDU packets, the miniport driver must increment this counter for each packet whose MPDU fragments were received and passed frame check sequence (FCS) verification and replay detection. The miniport driver must increment this member regardless of whether the received MSDU packet or MPDU fragment fail MAC-layer cipher decryption.

ullMulticastReceivedFrameCount
The number of multicast or broadcast MSDU packets and MMPDU frames that the 802.11 station has successfully received.

For MSDU packets, the miniport driver must increment this counter for each packet whose MPDU fragments were received and passed FCS verification and replay detection. The miniport driver must increment this member regardless of whether the received MSDU packet or MPDU fragment fail MAC-layer cipher decryption.

ullPromiscuousReceivedFrameCount
The number of MSDU packets or MMPDU frames received by the 802.11 station when a promiscuous packet filter is enabled. For more information about packet filters, see OID_GEN_CURRENT_PACKET_FILTER.

If a promiscuous packet filter is enabled, the miniport driver must only increment this counter for received MSDU packets or MMPDU frames that would have been rejected if the filter was not enabled. The driver must not increment this counter for:

  • Unicast MSDU packets or MMPDU frames with a destination MAC address that matches the 802.11 station's MAC address.

  • Multicast or broadcast MSDU packets or MMPDU frames with a destination MAC address that matches an entry in the multicast address list of the 802.11 station. For more information about the multicast address list, see OID_DOT11_MULTICAST_LIST.

ullMaxRXLifetimeExceededCount
The number if MSDU packets and MMPDU frames that the 802.11 station discarded because of a timeout as defined by the IEEE 802.11 dot11MaxReceiveLifetime MIB object. For more information about this MIB object, see OID_DOT11_MAX_RECEIVE_LIFETIME.

ullFrameDuplicateCount
The number of duplicate MPDU frames that the 802.11 station received. The 802.11 station determines duplicate frames through the Sequence Control field of the 802.11 MAC header.

ullReceivedFragmentCount
The number of MPDU frames received by the 802.11 station for MSDU packets or MMPDU frames.

ullPromiscuousReceivedFragmentCount
The number of MPDU frames received by the 802.11 station for MSDU packets or MMPDU frames when a promiscuous packet filter was enabled. For more information about packet filters, see OID_GEN_CURRENT_PACKET_FILTER.

If a promiscuous packet filter is enabled, the miniport driver must only increment this counter for received MPDU frames that would have been rejected if the filter was not enabled. The driver must not increment this counter for:

  • Unicast MPDU frames with a destination MAC address that matches the 802.11 station's MAC address.

  • Multicast or broadcast MPDU frames with a destination MAC address that matches an entry in the multicast address list of the 802.11 station. For more information about the multicast address list, see OID_DOT11_MULTICAST_LIST.

ullFCSErrorCount
The number of MPDU frames that the 802.11 station received with FCS errors.

The miniport driver must unconditionally set all of the counters in the DOT11_STATISTICS structure to zero, including MAC-layer and PHY-layer counters, when one of the following occurs:

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