// wificx.h
typedef struct _WIFI_DEVICE_CAPABILITIES {
ULONG Size;
BOOLEAN HardwareRadioState;
BOOLEAN SoftwareRadioState;
UCHAR FirmwareVersion[MAX_FIRMWARE_VERSION_LENGTH];
BOOLEAN ActionFramesSupported;
UINT8 NumRxStreams;
UINT8 NumTxStreams;
BOOLEAN Support_eCSA;
BOOLEAN MACAddressRandomization;
WDI_MAC_ADDRESS MACAddressRandomizationMask;
WDI_BLUETOOTH_COEXISTENCE_SUPPORT BluetoothCoexistenceSupport;
BOOLEAN SupportsNonWdiOidRequests;
BOOLEAN FastTransitionSupported;
BOOLEAN MU_MIMOSupported;
BOOLEAN BSSTransitionSupported;
BOOLEAN SAEAuthenticationSupported;
BOOLEAN MBOSupported;
BOOLEAN BeaconReportsImplemented;
UINT8 NumRadios;
} WIFI_DEVICE_CAPABILITIES;
View the official Windows Driver Kit DDI referenceNo description available.
The WIFI_DEVICE_CAPABILITIES structure describes a WiFiCx device's capabilities.
SizeThe sum (in bytes) of the sizes of all contained elements.
HardwareRadioStateSpecifies whether the radio is enabled by hardware. Valid values are 0 (disabled) and 1 (enabled).
SoftwareRadioStateSpecifies whether they radio is enabled by software. Valid values are 0 (disabled) and 1 (enabled).
FirmwareVersion[MAX_FIRMWARE_VERSION_LENGTH]The firmware version.
ActionFramesSupportedSpecifies whether sending and receiving action frames is supported. Valid values are 0 (not supported) and 1 (supported).
NumRxStreamsThe supported number of RX spatial streams.
NumTxStreamsThe supported number of TX spatial streams.
Support_eCSASpecifies whether eCSA is supported. Valid values are 0 (not supported) and 1 (supported).
MACAddressRandomizationSpecifies whether the adapter supports MAC address randomization. Valid values are 0 (not supported) and 1 (supported).
MACAddressRandomizationMaskA bit mask that specifies for each address bit whether it can be randomized (0) or should keep the same value as the permanent address (1). The default is all zeros.
BluetoothCoexistenceSupportA WDI_BLUETOOTH_COEXISTENCE_SUPPORT enum that defines the supported level of Wi-Fi - Bluetooth coexistence.
SupportsNonWdiOidRequestsSpecifies non-WDI OID support. Valid values are:
FastTransitionSupportedSpecifies whether the Fast Transition is supported. Valid values are 0 (not supported) and 1 (supported).
MU_MIMOSupportedSpecifies whether Mu-MIMO is supported. Valid values are 0 (not supported) and 1 (supported).
BSSTransitionSupportedSpecifies if 802.11v BSS transition is supported. Valid values are 0 (not supported) and 1 (supported).
SAEAuthenticationSupportedSpecifies if the device supports SAE authentication. Valid values are 0 (not supported) and 1 (supported).
MBOSupportedSpecifies if the device supports Multiband Operation (MBO). Valid values are 0 (not supported) and 1 (supported).
BeaconReportsImplementedSpecifies if the adapter implements beacon report measurements. Valid values are 0 (the adapter does not implement beacon report measurements) and 1 (the adapter implements its own 11k beacon report).
NumRadiosThe number of radios. NumRadios is equal to the number of connections on different channels that the device can simultaneously Rx and Tx.
Call WIFI_DEVICE_CAPABILITIES_INIT to initialize this structure and fill in its Size field. Then call WifiDeviceSetDeviceCapabilities to report device capabilities to WiFiCx.
WifiDeviceSetDeviceCapabilities