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 |