OID_DOT11_MULTI_DOMAIN_CAPABILITY

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_MULTI_DOMAIN_CAPABILITY object identifier (OID) requests that the miniport driver return the list of supported regulatory domains associated with:

  • The value of the IEEE 802.11d dot11CountryString management information base (MIB) object. For more information about the dot11CountryString management information base (MIB) object, see OID_DOT11_COUNTRY_STRING.

  • The current PHY type on the 802.11 station.

The data type for OID_DOT11_MULTI_DOMAIN_CAPABILITY is the DOT11_MD_CAPABILITY_ENTRY_LIST structure.

    typedef struct _DOT11_MD_CAPABILITY_ENTRY_LIST {
         ULONG uNumOfEntries;
         ULONG uTotalNumOfEntries;
         DOT11_MULTI_DOMAIN_CAPABILITY_ENTRY dot11MDCapabilityEntry[1];
    } DOT11_MD_CAPABILITY_ENTRY_LIST, *PDOT11_MD_CAPABILITY_ENTRY_LIST;
  

This structure includes the following members:

uNumOfEntries
Number of entries in the dot11MDCapabilityEntry array. A zero value for this member indicates an empty list of supported regulatory domains.

uTotalNumOfEntries
Maximum number of entries that the dot11MDCapabilityEntry array requires.

dot11MDCapabilityEntry
The list of supported regulatory domains.

The data type for the elements of the dot11MDCapabilityEntry array is the DOT11_MD_CAPABILITY_ENTRY structure.

typedef struct _DOT11_MULTI_DOMAIN_CAPABILITY_ENTRY { ULONG
 uMultiDomainCapabilityIndex;         ULONG uFirstChannelNumber;
         ULONG uNumberOfChannels;
 LONG
 lMaximumTransmitPowerLevel; } DOT11_MULTI_DOMAIN_CAPABILITY_ENTRY,
    *PDOT11_MULTI_DOMAIN_CAPABILITY_ENTRY;

This structure includes the following members:

uMultiDomainCapabilityIndex
Identifies this entry in the miniport driver's supported regulatory domain list.

uFirstChannelNumber
The lowest channel number in the sub-band for the regulatory domain that is identified by the dot11CountryString MIB object.

uNumberOfChannels
Total number of channels allowed in the sub-band for the regulatory domain that is identified by the dot11CountryString MIB object.

lMaximumTransmitPowerLevel
The maximum transmit power, in dBm, allowed in the sub-band for the regulatory domain that is identified by the dot11CountryString MIB object.

When OID_DOT11_MULTI_DOMAIN_CAPABILITY is queried, the miniport driver fails the query request under the following conditions:

  • If the dot11MultiDomainCapabilityImplemented MIB object is FALSE, the 802.11 station does not support multiple regulatory domains. In this situation, the miniport driver must return NDIS_STATUS_BAD_VERSION from its MiniportOidRequest function.

    For more information about the dot11MultiDomainCapabilityImplemented MIB object, see OID_DOT11_MULTI_DOMAIN_CAPABILITY_IMPLEMENTED.

  • If the dot11MultiDomainCapabilityEnabled MIB object is FALSE, the 802.11 station has not enabled the support for multiple regulatory domains. In this situation, the miniport driver must return NDIS_STATUS_INVALID_DATA from its MiniportOidRequest function.

  • If the 802.11 station has not completed an explicit scan initiated through a set of OID_DOT11_SCAN_REQUEST, the miniport driver must return NDIS_STATUS_DOT11_MEDIA_IN_USE from its MiniportOidRequest function.

When OID_DOT11_MULTI_DOMAIN_CAPABILITY 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_MD_CAPABILITY_ENTRY_LIST structure, including all entries in the dot11MDCapabilityEntry 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_MD_CAPABILITY_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_MD_CAPABILITY_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_MD_CAPABILITY_ENTRY_LIST structure, the miniport driver must do the following to complete a successful query request:

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

    • For the OidRequest parameter, set the BytesNeeded member to zero and the BytesWritten member to the length, in bytes, of the entire DOT11_MD_CAPABILITY_ENTRY_LIST structure. The miniport driver must also copy the entire DOT11_MD_CAPABILITY_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.

If the miniport driver supports the functionality of multiple MAC entities through virtualization, the driver should not return NDIS_STATUS_DOT11_MEDIA_IN_USE if the medium is blocked by another MAC.

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