NDIS_QOS_SQ_PARAMETERS 구조체(ntddndis.h)
NDIS_QOS_SQ_PARAMETERS 구조에는 NDIS QoS(서비스 품질) SQ(Scheduler Queue)의 매개 변수가 포함됩니다.
통사론
typedef struct _NDIS_QOS_SQ_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_QOS_SQ_ID SqId;
NDIS_QOS_SQ_TYPE SqType;
BOOLEAN TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
ULONG TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
ULONG TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
ULONG TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
ULONG CrossTcTransmitBandwidthCap;
ULONG MaxNumSqInputs;
} NDIS_QOS_SQ_PARAMETERS, *PNDIS_QOS_SQ_PARAMETERS;
회원
Header
NDIS_QOS_SQ_PARAMETERS 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.
미니포트 드라이버는 HeaderType 멤버를 NDIS_OBJECT_TYPE_DEFAULT, NDIS_QOS_SQ_PARAMETERS_REVISION_2 Revision 멤버, Size 멤버를 NDIS_SIZEOF_QOS_SQ_PARAMETERS_REVISION_2 설정해야 합니다.
Flags
비트 OR 플래그를 포함하는 ULONG 값입니다. 이러한 플래그는 SQ에서 사용하도록 설정된 하드웨어 QoS 오프로드 기능의 기타 기능 및 특성을 지정합니다. 다음 플래그가 정의됩니다.
NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
이 플래그를 설정하면 이 SQ에서 전송 대역폭 대역폭 대역폭을 사용할 수 있습니다.
NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED
이 플래그를 설정하면 전송 대역폭 예약이 이 SQ에서 사용하도록 설정됩니다.
NDIS_QOS_SQ_RECEIVE_CAP_ENABLED
이 플래그가 설정된 경우 수신 대역폭 대역폭 대문자는 이 SQ에서 사용하도록 설정됩니다.
SqId
이 SQ의 SQ ID를 포함하는 NDIS_QOS_SQ_ID. NDIS는 이 ID를 할당합니다.
SqType
이 SQ의 형식을 포함하는 NDIS_QOS_SQ_TYPE. NDIS_QOS_SQ_TYPE열거형 정의에서 NdisQSQosSqSqSQTypeStandard 수 있습니다.
TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
각 트래픽 클래스(0에서 NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES)를 이 SQ에서 예약할 수 있는지 여부를 지정하는 BOOLEAN 값 배열입니다.
이 필드가 TC(트래픽 클래스)는 아래 표에서 읽고 유효성을 검사해야 하며 crossTcTransmitBandwidthCap 제한됩니다.
이 필드가 FALSE 모든 TC는 CrossTcTransmitBandwidthCap 또는 아래 TC별 테이블에서 QoS 속도 제한에 참여하지 않습니다.
TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
각 TC에 대한 전송 대역폭 대역폭 대문자(Mbps)를 지정하는 ULONG 요소의 배열입니다. 요소는 NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
플래그가 설정되고 TcEnabledTable 해당 요소가 TRUE 경우에만 유효합니다. 값이 0인 요소 상한이 없습니다.
NIC는 이 테이블에 지정된 속도를 초과하는 경우 지정된 TC에 대해 이 SQ의 전송 패킷을 큐에 대기해야 합니다.
TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
각 TC에 대한 전송 대역폭 예약을 지정하는 ULONG 요소의 배열로, 0 – ULONG_MAX. 요소는 NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED
플래그가 설정되고 TcEnabledTable 해당 요소가 TRUE 경우에만 유효합니다. 값이 0 요소는 이 SQ/TC의 패킷 전송이 해당 TC에 대한 기본 SQ의 예약을 공유한다는 것을 의미합니다.
다른 SQ가 이 TC에 대한 예약을 충족하기 위해 대역폭이 필요한 경우 NIC는 지정된 TC에 대해 이 SQ의 전송 패킷을 큐에 대기해야 합니다.
TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
각 TC에 대한 수신 대역폭 대역폭 대문자(Mbps)를 지정하는 ULONG 요소의 배열입니다. 요소는 NDIS_QOS_SQ_RECEIVE_CAP_ENABLED
플래그가 설정되고 TcEnabledTable 해당 요소가 TRUE 경우에만 유효합니다. 값이 0인 요소 상한이 없습니다.
수신 대역폭 상한을 사용하도록 설정하기 위한 선택적 기능입니다. 수신 한도 지원을 보급하는 NIC는 이 SQ의 지정된 TC가 이 배열에 지정된 속도를 초과한 후 수신 패킷을 삭제해야 합니다(NIC의 일정 구현에 따라).
CrossTcTransmitBandwidthCap
NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
플래그가 설정된 경우 TcEnabledTable 해당 요소가 TRUE있는 TC 간 트래픽에 대한 전송 대역폭 한도를 지정하는 ULONG 값입니다.
MaxNumSqInputs
OS가 SQ와 연결할 가능성이 있는 vPort 수에 대한 미니포트에 "힌트"를 제공하는 ULONG 값입니다. SQ를 만든 후에는 이 값을 수정할 수 없습니다.
미니포트는 이 힌트를 사용하여 리소스를 더 잘 관리할 수 있습니다. 미니포트는 요청을 충족하는 최상의 서비스를 제공하지만 SQ 생성 시간 또는 vPort 연결 시간에 리소스가 부족하여 실패할 수 있습니다.
이 값이 NDIS_QOS_OFFLOAD_CAPABILITIES미니포트에서 지정한 MaxNumSQInputs 값을 초과하는 경우 미니포트에서 오류를 반환해야 합니다.
발언
NDIS_QOS_SQ_PARAMETERS 구조는 NIC 스위치에서 만든 SQ를 열거하는 OID 쿼리 요청 OID_QOS_OFFLOAD_ENUM_SQS반환됩니다.
NDIS_QOS_SQ_PARAMETERS 미니포트 어댑터에 새 SQ를 만드는 OID 메서드 요청 OID_QOS_OFFLOAD_CREATE_SQ반환됩니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.85 이상에서 지원됩니다. |
지원되는 최소 서버 | Windows Server 2022 |
헤더 | ntddndis.h(ndis.h 포함) |