NDIS_RECEIVE_QUEUE_PARAMETERS 구조체(ntddndis.h)

NDIS_RECEIVE_QUEUE_PARAMETERS 구조에는 수신 큐의 구성 매개 변수가 포함됩니다.

구문

typedef struct _NDIS_RECEIVE_QUEUE_PARAMETERS {
  NDIS_OBJECT_HEADER          Header;
  ULONG                       Flags;
  NDIS_RECEIVE_QUEUE_TYPE     QueueType;
  NDIS_RECEIVE_QUEUE_ID       QueueId;
  NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
  GROUP_AFFINITY              ProcessorAffinity;
  ULONG                       NumSuggestedReceiveBuffers;
  ULONG                       MSIXTableEntry;
  ULONG                       LookaheadSize;
  NDIS_VM_NAME                VmName;
  NDIS_QUEUE_NAME             QueueName;
  ULONG                       PortId;
  ULONG                       InterruptCoalescingDomainId;
  NDIS_QOS_SQ_ID              QosSqId;
} NDIS_RECEIVE_QUEUE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_PARAMETERS;

멤버

Header

NDIS_RECEIVE_QUEUE_PARAMETERS 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.

미니포트 드라이버는 헤더Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정해야 합니다. NDIS_NIC_SWITCH_CAPABILITIES 구조체의 버전을 지정하려면 드라이버가 HeaderRevision 멤버를 다음 값 중 하나로 설정해야 합니다.

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3

NDIS 6.50에 대한 QosSqId 필드가 추가되었습니다.

Size 멤버를 NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3 설정합니다.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2

NDIS 6.30에 대한 추가 멤버가 추가되었습니다.

Size 멤버를 NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2 설정합니다.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1

NDIS 6.20의 원래 버전입니다.

Size 멤버를 NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1 설정합니다.

Flags

다음 플래그의 비트 OR을 포함하는 ULONG 값입니다. 다음 플래그는 OID_RECEIVE_FILTER_ALLOCATE_QUEUE OID 및 OID_RECEIVE_FILTER_QUEUE_PARAMETERS 집합 및 쿼리 OID에 유효합니다.

NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION

미니포트 드라이버는 NdisMIndicateReceiveNetBufferLists 함수에 대한 단일 호출에서 다른 수신 큐에 대한 네트워크 패킷을 이 큐의 패킷과 혼합해서는 안 됩니다.

NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED

네트워크 어댑터는 수신된 패킷을 요청된 lookahead 크기와 같거나 큰 오프셋으로 분할하고 DMA를 사용하여 lookahead 데이터와 사후 조회 데이터를 별도의 공유 메모리 세그먼트로 전송해야 합니다.

참고

NDIS 6.30부터 패킷 데이터를 별도의 lookahead 버퍼로 분할하는 것은 더 이상 지원되지 않습니다. NDIS 6.30 이상 버전을 지원하는 미니포트 드라이버는 이 플래그를 무시해야 합니다.

다음 플래그는 OID_RECEIVE_FILTER_QUEUE_PARAMETERS 집합 OID 및 NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS 상태 표시에 유효합니다.

NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED

Flags 멤버의 설정이 변경되었습니다.

NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED

ProcessorAffinity 멤버의 설정이 변경되었습니다.

NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED

NumSuggestedReceiveBuffers 멤버의 설정이 변경되었습니다.

NDIS_RECEIVE_QUEUE_PARAMETERS_NAME_CHANGED

QueueName 멤버의 설정이 변경되었습니다.

참고

드라이버는 NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK 정의와 Flags 멤버의 값 간에 비트 AND 연산을 실행하여 변경된 수신 큐 매개 변수를 결정합니다. 결과가 0이면 수신 큐 매개 변수가 변경되지 않았습니다.

QueueType

수신 큐의 형식을 지정하는 NDIS_RECEIVE_QUEUE_TYPE 열거형 값입니다.

QueueId

수신 큐 식별자를 포함하는 NDIS_RECEIVE_QUEUE_ID 형식 값입니다. 이 식별자는 0과 네트워크 어댑터가 지원하는 큐 수 사이의 정수 값입니다. NDIS_DEFAULT_RECEIVE_QUEUE_ID 값은 기본 수신 큐를 지정합니다.

QueueGroupId

이 멤버는 NDIS용으로 예약되어 있습니다.

ProcessorAffinity

이 큐를 연결할 수 있는 CPU의 그룹 번호 및 비트맵을 지정하는 GROUP_AFFINITY 값입니다. 하나 이상의 프로세서를 지정해야 합니다. 따라서 값은 0이 아니어야 합니다.

NumSuggestedReceiveBuffers

네트워크 어댑터가 큐를 지원하는 데 사용해야 하는 수신 버퍼 수에 대해 제안된 값을 포함하는 ULONG 값입니다. 이 수는 미니포트 드라이버가 사용할 수 있는 리소스를 기준으로 조정하거나 네트워크 어댑터가 다른 큐에 사용하는 수에 비례하여 조정할 수 있습니다. 예를 들어 실제 수신 버퍼 수는 이 제안된 값의 두 배 또는 절반이 될 수 있습니다.

MSIXTableEntry

이 멤버는 NDIS용으로 예약되어 있습니다.

LookaheadSize

이 큐에 대한 lookahead 크기 요구 사항의 크기(바이트)에 대한 ULONG 값입니다. VM 큐에서 lookahead를 지원하는 네트워크 어댑터는 수신된 패킷을 요청된 lookahead 크기보다 크거나 같은 오프셋으로 분할하고 DMA를 사용하여 lookahead 데이터와 사후 조회 데이터를 별도의 공유 메모리 세그먼트로 전송합니다. LookaheadSize가 0이면 미니포트 드라이버가 패킷을 분할해서는 안 됩니다.

LookaheadSize는 NDIS가 Flags 멤버에서 NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED 플래그를 설정하는 경우에 유효합니다. 즉, 플래그도 설정된 경우 미니포트 드라이버는 지정된 lookahead 크기로 패킷을 분할해야 합니다. 플래그가 명확하면 LookaheadSize 의 0이 아닌 값이 잘못되었습니다.

참고

NDIS 6.30부터 패킷 데이터를 별도의 lookahead 버퍼로 분할하는 것은 더 이상 지원되지 않습니다. 이 멤버의 값은 0이어야 합니다.

VmName

사용자가 읽은 가상 머신에 대한 설명을 포함하는 NDIS_VM_NAME 값입니다.

QueueName

사용자가 읽은 큐에 대한 설명을 포함하는 NDIS_QUEUE_NAME 값입니다.

PortId

VM 큐가 연결된 Hyper-V 확장 가능 스위치에 있는 포트의 고유 식별자를 포함하는 ULONG 값입니다.

InterruptCoalescingDomainId

이 멤버는 NDIS용으로 예약되어 있습니다.

QosSqId

VMQ(Virtual Machine Queue)를 SQ(Scheduler Queue)와 연결합니다. SQ 연결이 없도록 이 필드를 0 으로 설정합니다. NDIS_QOS_SQ_ID 대한 자세한 내용은 OID_QOS_OFFLOAD_CREATE_SQ 참조하세요.

레거시 VMQ에 대한 QoS(하드웨어 서비스 품질) 지원은 필요하지 않습니다. QosSqId가 0이 아닌 경우 미니포트 드라이버는 NDIS_STATUS_NOT_SUPPORTED 반환할 수 있습니다.

설명

NDIS_RECEIVE_QUEUE_PARAMETERS 구조체는 OID_RECEIVE_FILTER_ALLOCATE_QUEUE OID 및 OID_RECEIVE_FILTER_QUEUE_PARAMETERS OID에서 사용됩니다.

NDIS 6.30에서 NDIS_RECEIVE_QUEUE_PARAMETERS 구조는 NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS 상태 표시에도 사용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.20 이상에서 지원됩니다.
지원되는 최소 서버 Windows Server 2022
머리글 ntddndis.h(Ndis.h 포함)

추가 정보

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_TYPE

NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS

NdisMIndicateReceiveNetBufferLists

OID_RECEIVE_FILTER_ALLOCATE_QUEUE

OID_RECEIVE_FILTER_QUEUE_PARAMETERS