Compartilhar via


OID_GEN_CO_NETCARD_LOAD

Observação

OID_GEN_CO_NETCARD_LOAD é o mesmo que OID_GEN_NETCARD_LOAD.

O OID_GEN_CO_NETCARD_LOAD OID retorna a carga relativa no sistema de transmissão de um driver de miniporto orientado para conexão. O driver de miniporte deriva esse número calculando a diferença entre a quantidade de dados entregues para transmissão de protocolos e a quantidade de dados realmente enviados, conforme indicado pelos pacotes retornados aos protocolos com NdisMCoSendComplete. O resultado é a quantidade de dados de transmissão pendentes no driver de miniporta a qualquer momento.

Como essa estatística muda em uma frequência muito alta, a porta do driver de miniporte deve filtrá-la. O método de filtragem mais simples é manter uma média em execução de exemplos dos dados de transmissão pendentes. Por exemplo, sempre que MiniportCoSendPackets é chamado, o driver de miniport pode adicionar o tamanho do pacote enviado a uma variável definida pelo driver de miniporto chamada OutstandingBytes. Sempre que o driver de miniporto chama NdisMCoSendComplete, o driver de miniporto subtraia o tamanho do pacote retornado de OutstandingBytes. O driver de miniporte também deve manter uma média de execução, que é o valor que o driver de miniporto deve retornar em resposta à consulta OID_GEN_CO_NETCARD_LOAD. Essa variável, que pode ser chamada de RunningAverage, deve ser atualizada em cada MiniportCoSendPackets, da seguinte maneira:

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

Nesse caso, 1 <C< 128. Valores maiores de C produzem filtragem mais suave.

Requisitos

Versão: Windows Vista e cabeçalho posterior: Ntddndis.h (inclua Ndis.h)