estrutura NDIS_RECEIVE_THROTTLE_PARAMETERS (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 adiada).
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 de NET_BUFFER_LIST que um driver de miniporte 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 NET_BUFFER_LIST estruturas pendentes depois de processar o número máximo ou as estruturas solicitadas pelo NDIS no membro MaxNblsToIndicate .
Comentários
Os parâmetros ReceiveThrottleParameters do MiniportInterruptDPC e do MiniportMessageInterruptDPC As funções do manipulador DPC apontam para uma estrutura de NDIS_RECEIVE_THROTTLE_PARAMETERS. Essa estrutura especifica os parâmetros de RST (Acelerador Lateral de Recebimento) no NDIS 6.20 e posterior.
Na entrada do manipulador DPC, o membro MaxNblsToIndicate 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 como TRUE e não deve habilitar novamente as interrupções antes de retornar do DPC. Isso é verdadeiro para interrupções tendenciosas de linha e mensagem.
O driver de miniporte deve seguir estas diretrizes quando o membro MaxNblsToIndicate estiver definido como NDIS_INDICATE_ALL_NBLS:
- Um valor de NDIS_INDICATE_ALL_NBLS permite que o driver de miniporte determine o número de estruturas NET_BUFFER_LIST que ele indica em uma chamada DPC. Isso fornece ao driver de miniporto as seguintes opções:
- O driver de miniporte 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 passar um tempo excessivo dentro de uma chamada DPC.
Em particular, o driver deve usar sua heurística para evitar um tempo limite de DPC, que é a quantidade máxima de tempo 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 do DPC é de 10 segundos.
- O driver de miniporte deve definir MoreNblsPending como 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 o membro ReceiveThrottleParameters 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 , MaxNblsToIndicate NET_BUFFER_LIST estruturas.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.20 e posterior. |
Cabeçalho | ndis.h (inclua Ndis.h) |