NDIS_PD_QUEUE_PARAMETERS 結構 (ndis.h)
當呼叫任何佇列例程時,這個結構可用來保存傳輸或接收佇列的參數。
語法
typedef struct _NDIS_PD_QUEUE_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_PD_QUEUE_TYPE QueueType;
ULONG QueueSize;
ULONG ReceiveDataLength;
GROUP_AFFINITY Affinity;
ULONG TrafficClassId;
ULONG MaximumPartialBufferCount;
NDIS_PD_COUNTER_HANDLE CounterHandle;
} NDIS_PD_QUEUE_PARAMETERS;
成員
Header
NDIS_PD_CONFIG 結構的NDIS_OBJECT_HEADER結構。 設定此結構的成員,如下所示:
- 類型 = NDIS_OBJECT_TYPE_DEFAULT
- 修訂 = NDIS_PD_QUEUE_PARAMETERS_REVISION_1
- 大小 = NDIS_SIZEOF_PD_QUEUE_PARAMETERS_REVISION_1
Flags
這個成員是保留的,而且必須由提供者設定為 0。
QueueType
佇列的類型。 如需詳細資訊,請參閱 NDIS_PD_QUEUE_TYPE。
QueueSize
此佇列可保留的最大 PD_BUFFER 結構數量,且一律等於 2^k) -1 ( (63、127、255、511、1023 等格式的數位。) 。 這可讓您有效率的迴圈索引算術。
ReceiveDataLength
數據長度下限 PD_BUFFER 。
Affinity
處理器親和性是提供者的效能優化提示。 平臺主要是處理此遮罩所指示之處理器上的佇列。 提供者必須將此值設定為從 OID_GEN_RECEIVE_SCALE_PARAMETERS 所設定間接數據表衍生的處理器核心
TrafficClassId
MaximumPartialBufferCount
對於傳輸佇列,這是客戶端允許鏈結在一起形成單一 L2 封包的部分 PD_BUFFER 結構數目上限。 這個值必須等於 NDIS_PD_CAPABILITIES 結構中的 MaximumTxPartialBufferCount 值。
對於接收佇列,這是允許提供者鏈結在一起以 RSC 形成單一大型 L2 封包的部分 PD_BUFFER 結構數目上限。 這必須小於或等於 NDIS_PD_CAPABILITIES 結構中的 MaximumRxPartialBufferCount 值。
CounterHandle
這是傳輸佇列的傳輸佇列計數器,以及接收佇列的接收佇列計數器。在建立佇列期間,用戶端可以選擇性地提供計數器句柄。 在此情況下,和視佇列類型而定,提供者必須更新計數器值,因為活動發生在佇列上。 用戶端只會負責在關閉佇列之後關閉計數器句柄。
對於用戶端未直接建立的佇列,例如使用 NdisPDOnRssReceiveQueues例程取得的 RSS 接收佇列,提供者必須一律具有與佇列相關聯的計數器句柄。 也就是說,針對一組指定的 RSS 接收佇列,提供者必須針對每個接收佇列擁有一個專用的接收佇列計數器。
備註
這個結構必須對齊 8 位元組界限。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
最低支援的伺服器 | Windows Server 2016 |
標頭 | ndis.h |