NDIS_RECEIVE_THROTTLE_PARAMETERS estrutura (ndis.h)
A estrutura NDIS_RECEIVE_THROTTLE_PARAMETERS especifica o número máximo de estruturas de NET_BUFFER_LIST que um driver de miniporto deve indicar em uma DPC (chamada de procedimento adiado).
Sintaxe
typedef struct _NDIS_RECEIVE_THROTTLE_PARAMETERS {
ULONG MaxNblsToIndicate;
ULONG MoreNblsPending : 1;
} NDIS_RECEIVE_THROTTLE_PARAMETERS, *PNDIS_RECEIVE_THROTTLE_PARAMETERS;
Membros
MaxNblsToIndicate
O número máximo de estruturas NET_BUFFER_LIST que um driver de miniporto deve incluir em uma indicação de recebimento. Se esse valor for NDIS_INDICATE_ALL_NBLS, o miniporto poderá indicar todas as estruturas de NET_BUFFER_LIST que ele tem.
MoreNblsPending
Um valor que, quando TRUE, especifica que o driver de miniporto tem estruturas NET_BUFFER_LIST pendentes depois de processar o número máximo ou estruturas solicitadas pelo NDIS no membro MaxNblsToIndicate do.
Observações
O ReceiveThrottleParameters parâmetros do MiniportInterruptDPC e do miniportMessageInterruptDPC funções de manipulador DPC apontam para uma estrutura de NDIS_RECEIVE_THROTTLE_PARAMETERS. Essa estrutura especifica os parâmetros de RST (Limite Lateral de Recebimento) no NDIS 6.20 e posterior.
Na entrada do manipulador de DPC, o MaxNblsToIndicate membro da estrutura NDIS_RECEIVE_THROTTLE_PARAMETERS especifica o número máximo de estruturas de NET_BUFFER_LIST que o driver de miniporto deve indicar no DPC. Se esse valor for NDIS_INDICATE_ALL_NBLS, o driver de miniporto poderá indicar todas as estruturas de NET_BUFFER_LIST que ele tem em suas filas.
Depois que o driver de miniporto processar o número máximo especificado de estruturas de NET_BUFFER_LIST, o driver de miniporto poderá ter mais pacotes em suas filas de recebimento. Nesse caso, o driver de miniporto deve definir o membro MoreNblsPending para TRUE e não deve reabilitar interrupções antes de retornar do DPC. Isso é verdadeiro para interrupções tendenciosas de linha e de mensagem.
O driver de miniporto deve seguir estas diretrizes quando o membro do MaxNblsToIndicate estiver definido como NDIS_INDICATE_ALL_NBLS:
- Um valor de NDIS_INDICATE_ALL_NBLS permite que o driver de miniporto determine o número de estruturas de NET_BUFFER_LIST que ele indica em uma chamada DPC. Isso fornece ao driver de miniporto as seguintes opções:
- O driver de miniporto pode indicar todas as suas estruturas de NET_BUFFER_LIST pendentes de suas filas de recebimento.
-
O driver de miniporto pode limitar o número de estruturas de NET_BUFFER_LIST que ele indica com base em sua heurística para evitar gastar um tempo excessivo em uma chamada DPC.
Em particular, o driver deve usar sua heurística para evitar um tempo limite de DPC, que é o tempo máximo que o driver pode passar em seu DPC. Quando o intervalo de tempo limite expira, ocorre uma verificação de bugs no sistema. A partir do Windows 7, o tempo limite de DPC é de 10 segundos.
- O driver de miniporto deve definir MoreNblsPending para FALSE antes de retornar do DPC. O driver deve fazer isso independentemente de ter estruturas de NET_BUFFER_LIST pendentes em suas filas de recebimento que não foram indicadas.
Se o driver de miniporto estiver usando várias mensagens MSI para diferenciar diferentes fontes de interrupção, ele deverá ignorar a ReceiveThrottleParameters membro para mensagens MSI que não estão associadas a indicações de recebimento. Para receber mensagens de interrupção, o driver de miniporto deve indicar no máximo estruturas de NET_BUFFER_LIST MaxNblsToIndicate.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.20 e posterior. |
cabeçalho | ndis.h (inclua Ndis.h) |