다음을 통해 공유


WLAN_QOS_INFO 구조체(wlanapi.h)

중요

일부 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.

WFA의 Wi-Fi QoS 관리 사양에 설명되고 802.11 사양에 정의된 네 가지 기능에 대한 정보를 나타냅니다.

구문

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 가 0이 됩니다.

connectionQoSInfo

형식: WLAN_CONNECTION_QOS_INFO

현재 연결과 관련된 QoS 기능(WFA Wi-Fi QoS 관리 사양에 설명됨)에 대한 정보입니다. 이 구조체는 bConnectedTRUE이고, 그렇지 않으면 모두 0이고 무시해야 하는 경우에만 관련 정보가 포함됩니다.

설명

예제

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);
}

요구 사항

요구 사항
헤더 wlanapi.h