WLAN_QOS_INFO structure (wlanapi.h)
Important
Some information relates to a prerelease product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents information about the four features outlined in the WFA's Wi-Fi QoS Management Specification, and defined in the 802.11 spec.
Syntax
typedef struct _WLAN_QOS_INFO {
WLAN_QOS_CAPABILITIES interfaceCapabilities;
BOOL bConnected;
WLAN_CONNECTION_QOS_INFO connectionQoSInfo;
} WLAN_QOS_INFO, *PWLAN_QOS_INFO;
Members
interfaceCapabilities
Type: WLAN_QOS_CAPABILITIES
The QoS capabilities of the interface.
bConnected
Type: BOOL
Represents whether or not there's an established connection. If TRUE
, then connectionQoSInfo holds QoS information about the current connection. Otherwise, connectionoQoSInfo will be zeroed.
connectionQoSInfo
Type: WLAN_CONNECTION_QOS_INFO
Information about the QoS features (outlined by the WFA Wi-Fi QoS Management Specification) pertaining to the current connection. This structure contains relevant information only if bConnected is TRUE
; otherwise it is all zeros, and you should ignore it.
Remarks
Examples
void DisplayQoSInfo(GUID interfaceGuid)
{
wil::unique_wlan_handle clientHandle;
const DWORD maxClientVersion = 2;
DWORD currentClientVersion = 0;
DWORD status = WlanOpenHandle(maxClientVersion, nullptr, ¤tClientVersion, &clientHandle);
if (status != ERROR_SUCCESS)
{
wprintf(L"WlanOpenHandle failed with error: %u\n", status);
return;
}
wil::unique_wlan_ptr<WLAN_QOS_INFO> qosInfo;
DWORD dataSize;
status = WlanQueryInterface(clientHandle.get(), &interfaceGuid, wlan_intf_opcode_qos_info, nullptr, &dataSize, wil::out_param_ptr<void **>(qosInfo), nullptr);
if (status != ERROR_SUCCESS)
{
wprintf(L"WlanQueryInterface failed with error %u\n", status);
return;
}
wprintf(
L"Interface QoS Capabilities: MSCS Supported = %u, DSCP To UP Mapping Supported = %u, SCS Supported = %u, DSCP Policy Supported = %u\n",
qosInfo->interfaceCapabilities.bMSCSSupported,
qosInfo->interfaceCapabilities.bDSCPToUPMappingSupported,
qosInfo->interfaceCapabilities.bSCSSupported,
qosInfo->interfaceCapabilities.bDSCPPolicySupported);
if (!qosInfo->bConnected)
{
// Not connected, so the data that follows in connectionQoSInfo is meaningless.
return;
}
const auto& connectionQoSInfo = qosInfo->connectionQoSInfo;
wprintf(
L"AP QoS Capabilities: MSCS Supported = %u, DSCP To UP Mapping Supported = %u, SCS Supported = %u, DSCP Policy Supported = %u\n",
connectionQoSInfo.peerCapabilities.bMSCSSupported,
connectionQoSInfo.peerCapabilities.bDSCPToUPMappingSupported,
connectionQoSInfo.peerCapabilities.bSCSSupported,
connectionQoSInfo.peerCapabilities.bDSCPPolicySupported);
wprintf(
L"Connection QoS Info:\n\tMSCS Configured = %u\n\tDSCP To UP Mapping Configured = %u\n\tNumber of SCS Streams = %u\n\tNumber of DSCP Policies = %u\n",
connectionQoSInfo.bMSCSConfigured,
connectionQoSInfo.bDSCPToUPMappingConfigured,
connectionQoSInfo.ulNumConfiguredSCSStreams,
connectionQoSInfo.ulNumConfiguredDSCPPolicies);
}
Requirements
Requirement | Value |
---|---|
Header | wlanapi.h |