Share via


WLAN_QOS_INFO 構造体 (wlanapi.h)

重要

一部の情報はプレリリース製品に関連しており、市販される前に大幅に変更される可能性があります。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。

WFA の Wi-Fi QoS 管理仕様に記載され、802.11 仕様で定義されている 4 つの機能に関する情報を表します。

構文

typedef struct _WLAN_QOS_INFO {
  WLAN_QOS_CAPABILITIES    interfaceCapabilities;
  BOOL                     bConnected;
  WLAN_CONNECTION_QOS_INFO connectionQoSInfo;
} WLAN_QOS_INFO, *PWLAN_QOS_INFO;

メンバー

interfaceCapabilities

種類: WLAN_QOS_CAPABILITIES

インターフェイスの QoS 機能。

bConnected

種類: BOOL

接続が確立されているかどうかを表します。 の場合 TRUEconnectionQoSInfo は現在の接続に関する QoS 情報を保持します。 それ以外の場合、 connectionoQoSInfo はゼロになります。

connectionQoSInfo

種類: WLAN_CONNECTION_QOS_INFO

現在の接続に関する QoS 機能に関する情報 (WFA Wi-Fi QoS 管理仕様で概説されています)。 この構造体には、 bConnected が の場合にのみ関連情報が TRUE含まれます。それ以外の場合は、すべてゼロであるため、無視する必要があります。

解説

void DisplayQoSInfo(GUID interfaceGuid)
{
    wil::unique_wlan_handle clientHandle;
    const DWORD maxClientVersion = 2;
    DWORD currentClientVersion = 0;
    DWORD status = WlanOpenHandle(maxClientVersion, nullptr, &currentClientVersion, &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);
}

要件

要件
Header wlanapi.h