NDIS_PD_CAPABILITIES構造体 (ntddndis.h)
この構造体は、プロバイダーの PD 機能を示します。
構文
typedef struct _NDIS_PD_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG MaximumTxPartialBufferCount;
ULONG MaximumRxPartialBufferCount;
UCHAR RxFilterContextWidth;
ULONG CapabilityFlags;
ULONG MaxNumberOfRxQueues;
ULONG MaxNumberOfTxQueues;
ULONG MaxNumberOfRxQueuesForDefaultVport;
ULONG MaxNumberOfTxQueuesForDefaultVport;
ULONG MaxNumberOfRxQueuesPerNonDefaultVport;
ULONG MaxNumberOfTxQueuesPerNonDefaultVport;
ULONG ExactMatchProfileArrayOffset;
ULONG ExactMatchProfileArrayNumElements;
ULONG ExactMatchProfileArrayElementSize;
ULONG WildcardMatchProfileArrayOffset;
ULONG WildcardMatchProfileArrayNumElements;
ULONG WildcardMatchProfileArrayElementSize;
ULONG MinimumModerationInterval;
ULONG MaximumModerationInterval;
ULONG ModerationIntervalGranularity;
ULONG MaxRxQueueSize;
ULONG MaxTxQueueSize;
} NDIS_PD_CAPABILITIES;
メンバーズ
Header
NDIS_PD_CAPABILITIES 構造体の NDIS_OBJECT_HEADER 構造体。 この構造体のメンバーを次のように設定します。
- 型の = NDIS_OBJECT_TYPE_DEFAULT
- リビジョン = NDIS_PD_CAPABILITIES_REVISION_1
- サイズ = NDIS_SIZEOF_PD_CAPABILITIES_REVISION_1
Flags
このメンバーは予約されており、0 に設定する必要があります。
MaximumTxPartialBufferCount
プロバイダーによってサポートされる、部分的な送信 PD_BUFFER チェーンの最大長。
MaximumRxPartialBufferCount
プロバイダーでサポートされている、部分的な受信 PD_BUFFER チェーンの最大長。
RxFilterContextWidth
プロバイダーがサポートするフィルター コンテキストの幅。 プロバイダーは、最大 64 ビットの幅をサポートできます。
CapabilityFlags
プロバイダーがサポートする追加機能を含むフラグ。
旗 | 形容 |
---|---|
NDIS_PD_CAPS_RECEIVE_FILTER_COUNTERS_SUPPORTED | このフラグは、プロバイダーが、NDIS_PD_COUNTER 列挙体の一部である PDCounterTypeReceiveFilter 型を使用したカウンターの作成をサポートしていることを示します |
MaxNumberOfRxQueues
プロバイダーがサポートする受信キューの最大数。 これは、NdisPDAllocateQueue ルーチンによって作成されたキューにのみ関連するため、この数はクライアントでは正確ではありません。これは、追加の既存の RSS キュー (クライアントが NdisPDOnRssReceiveQueuesを使用して PD モードアクセスを要求できること) が、NdisPDAllocateQueue ルーチンでは考慮されないためです。
プロバイダーは、NdisPDOnRssReceiveQueues ルーチンを使用して、既存の RSS キューを PD モードにするクライアントのみをサポートしている場合、この値を 0 に設定できます。
MaxNumberOfTxQueues
プロバイダーが NdisPDAllocateQueue ルーチンを使用して作成できる送信キューの最大数。 プロバイダーでは、この値を 0 に設定しないでください。
MaxNumberOfRxQueuesForDefaultVport
プロバイダーが既定の仮想ポートに対してサポートする受信キューの最大数。
MaxNumberOfTxQueuesForDefaultVport
プロバイダーが既定の仮想ポートに対してサポートする送信キューの最大数。
MaxNumberOfRxQueuesPerNonDefaultVport
既定以外の仮想ポートに対してプロバイダーがサポートする受信キューの最大数。
MaxNumberOfTxQueuesPerNonDefaultVport
既定以外の仮想ポートに対してプロバイダーがサポートする送信キューの最大数。
ExactMatchProfileArrayOffset
NDIS_GFP_EXACT_MATCH_PROFILE構造体の配列の配列オフセット。
ExactMatchProfileArrayNumElements
NDIS_GFP_EXACT_MATCH_PROFILE構造体の配列の要素の数。
ExactMatchProfileArrayElementSize
NDIS_GFP_EXACT_MATCH_PROFILE構造体の配列の要素の数。
WildcardMatchProfileArrayOffset
NDIS_GFP_WILDCARD_MATCH_PROFILE構造体の配列の配列オフセット。
WildcardMatchProfileArrayNumElements
NDIS_GFP_WILDCARD_MATCH_PROFILE構造体の配列の要素数。
WildcardMatchProfileArrayElementSize
NDIS_GFP_WILDCARD_MATCH_PROFILE構造体の配列の要素数。
MinimumModerationInterval
MaximumModerationInterval
ModerationIntervalGranularity
MaxRxQueueSize
MaxTxQueueSize
備考
この構造体は、8 バイトの境界に配置する必要があります。
任意のキューを Rx または Tx キューとして柔軟に行うことができる N 個のキューの最大数をサポートする柔軟な実装がプロバイダーにある場合、クライアントは通常、一致する数の Rx キューと Tx キューを作成するため、MaxNumberOfRxQueues 値と MaxNumberOfTxQueues 値に対して ~N/2 をアドバタイズする必要があります。
プロバイダーが仮想ポート間で Rx または Tx キューを柔軟にパーティション分割できる場合は、仮想ポート固有の最大カウントにNDIS_PD_QUEUE_COUNT_DYNAMICを使用できます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 |
サポートされる最小サーバー | Windows Server 2016 |
ヘッダー | ntddndis.h (Ndis.h を含む) |