NDIS_POLL função de retorno de chamada (poll.h)
Os drivers de miniport implementam o NdisPoll função de retorno de chamada que o NDIS sondará para receber indicações e enviar conclusões.
Sintaxe
NDIS_POLL NdisPoll;
void() NdisPoll(
[_In_] void *Context,
[_Inout_] NDIS_POLL_DATA *PollData
)
{...}
Parâmetros
[_In_] Context
Um ponteiro para as informações de contexto fornecidas pelo driver ao criar o objeto Poll.
[_Inout_] PollData
Um ponteiro para uma estrutura NDIS_POLL_DATA que o driver deve usar para executar indicações de recebimento e enviar conclusões. Ele também contém detalhes sobre quantas NBLs precisam ser indicadas.
Observações
Os drivers de miniporto registram o retorno de chamada NdisPoll durante a inicialização do adaptador de miniporto. Os drivers especificam um ponto de entrada para a função NdisPoll no parâmetro PollHandler da estrutura NDIS_POLL_CHARACTERISTICS antes de chamar NdisRegisterPoll.
O NDIS invocará primeiro o retorno de chamada NdisPoll quando o driver chamar NdisRequestPoll. O NDIS continuará invocando NdisPoll enquanto o driver avança em indicações de recebimento ou conclusões de transmissão.
O retorno de chamada NdisPoll pode ser invocado em PASSIVE_LEVEL e DISPATCH_LEVEL IRQL. O driver não deve fazer suposições sobre qual nível ele será.
O driver deve verificar o receber ou transmitir parâmetros da estrutura NDIS_POLL_DATA para obter o número máximo de NBLs que ele pode indicar ou concluir.
Para obter indicações de recebimento, o driver deve:
- Busque até o número máximo de pacotes Rx que ele pode indicar.
- Inicialize os NBLs.
- Adicione-os à fila NBL fornecida pela estrutura de NDIS_POLL_RECEIVE_DATA (localizada na estrutura NDIS_POLL_DATA do parâmetroNdisPoll PollData).
- Saia do retorno de chamada.
Para conclusões de transmissão, o driver deve:
- Busque até o número máximo de pacotes Tx que ele pode concluir.
- Conclua os NBLs.
- Adicione-os à fila NBL fornecida pela estrutura de NDIS_POLL_TRANSMIT_DATA (localizada na estrutura NDIS_POLL_DATA do parâmetroNdisPoll PollData).
- Saia do retorno de chamada.
O driver não deve habilitar a interrupção do objeto Poll antes de sair da função NdisPoll . O NDIS continuará sondando o motorista até avaliar que nenhum progresso futuro está sendo feito. Neste ponto, o NDIS interromperá a sondagem e pedirá ao driver para reabilitar a interrupção invocando o retorno de chamada NdisSetPollNotification.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 11 |
servidor com suporte mínimo | Windows Server 2022 |
cabeçalho | poll.h (inclua ndis.h) |
IRQL | <= DISPATCH_LEVEL |