次の方法で共有


OID_GEN_CO_NETCARD_LOAD

Note

OID_GEN_CO_NETCARD_LOAD は OID_GEN_NETCARD_LOAD と同じです。

OID_GEN_CO_NETCARD_LOAD OID は、接続指向ミニポート ドライバーの送信システムの相対負荷を返します。 ミニポート ドライバーは、NdisMCoSendComplete を使用してプロトコルに返されるパケットによって示されるように、プロトコルから送信されるデータの量と実際に送信されるデータの量の差を計算することによって、この数を取得します。 その結果、ミニポート ドライバーの未処理の送信データ量が常に表示されます。

この統計情報は頻繁に変わるため、ミニポート ドライバー ポートでフィルター処理する必要があります。 最も簡単なフィルタリング方法は、未処理の送信データのサンプルの実行平均を維持することです。 たとえば、MiniportCoSendPackets が呼び出されるたびに、ミニポート ドライバーは、送信されたパケット サイズを OutstandingBytesと呼ばれるミニポート ドライバー定義の変数に追加できます。 ミニポート ドライバーが NdisMCoSendComplete を呼び出すたびに、ミニポート ドライバーは、OutstandingBytes から返されたパケット サイズを減算します。 ミニポート ドライバーは実行平均も維持する必要があります。これは、ミニポート ドライバーが OID_GEN_CO_NETCARD_LOAD クエリに応答して返す必要のある値です。 RunningAverage と呼ばれるこの変数は、次のように各MiniportCoSendPackets で更新する必要があります。

RunningAverage = [(RunningAverage * C) + (OutstandingBytes * (128 - C))] / 128;

この場合は、1 <C< 128 です。 C の値を大きくすると、フィルター処理がスムーズになります。

要件

バージョン: Windows Vista 以降の ヘッダー: Ntddndis.h (Ndis.h を含む)