Compartilhar via


MiniportISR

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função é um exigido função SE adaptador rede do driver gera interrupções.

Syntax

VOID MiniportISR(
  PBOOLEAN InterruptRecognized,
  PBOOLEAN QueueMiniportHandleInterrupt,
  NDIS_HANDLE MiniportAdapterContext
);

Parameters

  • InterruptRecognized
    [out] Aponta para uma variável no qual MiniportISR Retorna se o adaptador de rede, na verdade, gerado a interrupção. MiniportISR Define esta como TRUE se ele detecta que a interrupção veio do adaptador de rede designada no MiniportAdapterContext.

    Se seu adaptador rede compartilha um IRQ com outros dispositivos no barramento mesmo, MiniportISR deve retornar FALSE o mais rápido possível sempre que ele determina que adaptador de rede não interrupção.

  • QueueMiniportHandleInterrupt
    [out] Aponta para uma variável que MiniportISR Define como TRUE se o MiniportHandleInterrupt função deve ser chamado para operação E/S o Interrupt-driven completo.

    Se a variável no InterruptRecognized está definido para FALSE, o valor dessa variável é irrelevante porque MiniportHandleInterrupt Não será chamado.

  • MiniportAdapterContext
    [no] Especifica o identificador para uma área Miniport-allocated contexto no qual o driver mantém por-estado adaptador de rede, configurar por MiniportInitialize.

Return Value

Nenhum.

Remarks

Qualquer driver adaptador rede deve fazer tão pouco trabalho possível em seu MiniportISR função, deferring E/S operações para cada adaptador de rede gera a interrupção de MiniportHandleInterrupt função. ISR do driver adaptador uma rede não está re-entrant em Windows Embedded CE-com base em dispositivos, embora dois instanciações de um MiniportISR função pode executar simultaneamente em máquinas SMP, especialmente se a miniporta suporta full-duplex envia e recebe. Observe que SMP não com suporte para Windows Embedded CE.

MiniportISR é chamado sob a seguinte condições:

  • Uma interrupção ocorre no adaptador de rede enquanto do o driver MiniportInitialize Ou MiniportHalt função é execução.
  • Uma interrupção ocorre no barramento de E/S e adaptador de rede compartilha um IRQ com outros dispositivos nesse barramento.
  • Se o adaptador rede compartilha um IRQ com outros dispositivos, ISR da miniporta que deve ser chamado em cada interrupção para determinar se seu adaptador rede gerado, na verdade, a interrupção. Se não for MiniportISR deve retornar FALSE imediatamente o driver do dispositivo que realmente gerou a interrupção é chamado rapidamente. Essa estratégia maximiza a taxa de transferência E/S para cada dispositivo no barramento a mesmo.
  • Ocorre uma interrupção e driver adaptador de rede especificado que suas ISR deve ser chamado para identificador cada interrupção ao seu MiniportInitialize função chamado NdisMRegisterInterrupt.
  • Miniports que não fornecem MiniportDisable/EnableInterrupt a funcionalidade deve ter suas ISRs chamado em cada interrupção.

MiniportISR deixe de usar a interrupção no adaptador de rede, salva qualquer estado ele deve sobre a interrupção e adia ao máximo o processamento E/S para cada interrupção possível para o MiniportHandleInterrupt função.

As informações restantes na página referência não aplicar a Windows Embedded CE porque a funcionalidade não é com suporte. No entanto, se portabilidade para Microsoft® Windows® 2000 é uma preocupação, a seguinte informações são fornecidas.

Após MiniportISR controle retorna com as variáveis no InterruptRecognized e QueueMiniportHandleInterrupt Definir como TRUE, o correspondente MiniportHandleInterrupt função é executada em uma prioridade inferior hardware da ISR. Como regra geral, MiniportHandleInterrupt Faça todos o trabalho para as operações E/S Interrupt-driven Except for para determinar se o adaptador de rede, na verdade, gerado a interrupção e, se necessário, preservando o tipo (Receber, enviar, redefinir) de interrupção.

No entanto, um gravador driver não deve confiar em uma correspondência entre a execução de um-para-um MiniportISR e MiniportHandleInterrupt. A MiniportHandleInterrupt função deve ser gravada em processamento identificador de E/S de more than uma interrupção adaptador de rede. Seu MiniportISR e MiniportHandleInterrupt funções podem executar simultaneamente em máquinas SMP. Além disso, tão logo MiniportISR Confirma uma interrupção adaptador de rede, adaptador de rede pode gerar outra interrupção, enquanto o MiniportHandleInterrupt DPC pode ser enfileirado para execução uma vez para tal uma seqüência de interrupções.

O MiniportHandleInterrupt função não é enfileirado se do o driver MiniportHalt Ou MiniportInitialize função no momento está sendo executado.

Requirements

Header externs.h
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

MiniportHandleInterrupt
MiniportInitialize
MiniportHalt
NdisMRegisterInterrupt