共用方式為


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 結構。

迷你埠驅動程序必須將 HeaderType 成員設定為 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

包含下列旗標之位 ORULONG 值。 下列旗標適用於 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

網路適配器必須分割位移等於或大於所要求外觀大小的接收封包,並使用 DMA 來傳輸外觀數據和後置外觀數據,以分隔共用記憶體區段。

注意

從 NDIS 6.30 開始,不再支援將封包數據分割成個別的外觀緩衝區。 支援 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 作業,判斷哪些接收佇列參數已變更。 如果結果為零,則不會變更任何接收佇列參數。

QueueType

指定接收佇列類型的 NDIS_RECEIVE_QUEUE_TYPE 列舉值。

QueueId

包含接收佇列標識碼 的NDIS_RECEIVE_QUEUE_ID 型別值。 此標識碼是介於零與網路適配器所支援佇列數目之間的整數值。 NDIS_DEFAULT_RECEIVE_QUEUE_ID 值會指定預設接收佇列。

QueueGroupId

此成員保留給 NDIS。

ProcessorAffinity

GROUP_AFFINITY值,指定此佇列可以關聯的 CPU 群組編號和點陣圖。 至少必須指定一個處理器。 因此,值不得為零。

NumSuggestedReceiveBuffers

ULONG 值,其中包含網路適配器應該用來支援佇列之接收緩衝區數目的建議值。 此數目可以相對於迷你埠驅動程式可用的資源進行調整,或與網路適配器用於其他佇列的數目成比例調整。 例如,接收緩衝區的實際數目可以是這個建議值的兩倍或一半。

MSIXTableEntry

此成員保留給 NDIS。

LookaheadSize

此佇列之外觀大小需求的 ULONG 值,以位元組為單位。 支援 VM 佇列中 lookahead 的網路適配器會分割接收的封包,其位移等於或大於要求的外觀大小,並使用 DMA 來傳輸外觀數據和後置外觀數據來分隔共用記憶體區段。 如果 LookaheadSize 為零,迷你埠驅動程式不得分割封包。

當 NDIS 在 Flags 成員中設定NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED旗標時,LookaheadSize 有效。 也就是說,如果同時設定旗標,迷你埠驅動程序必須在指定的外觀大小分割封包。 如果旗標清楚, LookaheadSize 的非零值無效。

注意

從 NDIS 6.30 開始,不再支援將封包數據分割成個別的外觀緩衝區。 這個成員的值必須是零。

VmName

NDIS_VM_NAME值,其中包含使用者讀取之虛擬機的描述。

QueueName

包含使用者讀取之佇列描述的 NDIS_QUEUE_NAME 值。

PortId

ULONG 值,其中包含連結 VM 佇列之 Hyper-V 可延伸交換器上埠的唯一標識符。

InterruptCoalescingDomainId

此成員保留給 NDIS。

QosSqId

將虛擬機佇列 (VMQ) 與排程器佇列 (SQ) 產生關聯。 針對沒有 SQ 關聯,請將此字段設定為 。 如需 NDIS_QOS_SQ_ID的詳細資訊,請參閱 OID_QOS_OFFLOAD_CREATE_SQ

不需要舊版 VMQ 的硬體服務品質 (QoS) 支援。 如果 QosSqId 不是零,迷你埠驅動程式可能會傳回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