Compartilhar via


MiniportSynchronizeISR

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

MiniportSynchronizeISR é um exigido função para funções driver NIC que executar no menor do que DIRQL e compartilhar recursos com do driver que MiniportISR Ou MiniportDisableInterrupt função.

Syntax

BOOLEAN MiniportSynchronizeISR(
  PVOID SynchronizeContext 
);

Parameters

  • SynchronizeContext
    [no] Aponta para uma área contexto fornecido quando do o driver NIC MiniportXxx Ou chamado função interna NdisMSynchronizeWithInterrupt. Normalmente, este parâmetro de entrada é um ponteiro para um conjunto de recursos compartilhados em um deslocamento dentro de NIC-specific MiniportAdapterContext área passada para outro MiniportXxx funções.

Return Value

MiniportSynchronizeISR Retorna um Boolean com um significado driver-determined que é propagado para o chamador de NdisMSynchronizeWithInterrupt.

Remarks

Se qualquer função driver NIC compartilha recursos, como dispositivo registradores, com do o driver MiniportISR Ou MiniportDisableInterrupt função, a função driver compatível, Por padrão, no menor do que DIRQL Não é possível acessar esses recursos diretamente. Se ele tentou acessar tais compartilhada recursos diretamente, a função prioridade inferior pode ser Pre-empted pela execução do MiniportISR Ou MiniportDisableInterrupt, que poderia estado alteração sem from under a função driver prioridade inferior.

Para sincronizar acessar para como com recursos compartilhados MiniportISR Ou MiniportDisableInterrupt, funções driver prioridade inferior devem chamar NdisMSynchronizeWithInterrupt Para que do o driver MiniportSynchronizeISR função acessar recursos em DIRQL aqueles compartilhados. Chamando NdisMSynchronizeWithInterrupt Impede que as condições de corrida e bloqueios em tal um driver NIC, especialmente em máquinas SMP.

Quaisquer funções driver prioridade inferior que compartilhar recursos entre si (mas não com qualquer função que executa no DIRQL) devem usar um bloqueio de rotação para proteger esses recursos compartilhados.

MiniportSynchronizeISR é executado no DIRQL atribuídos quando do o driver MiniportInitialize função chamado NdisMRegisterInterrupt. Como qualquer função driver que executa no DIRQL, MiniportSynchronizeISR deverá retornar controle mais rápido possível, e ele pode chamar somente aqueles NDISXXX funções que são seguros para chamar em qualquer IRQL.

Requirements

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

See Also

Reference

MiniportDisableInterrupt
MiniportInitialize
MiniportISR
NdisAllocateSpinLock
NdisMRegisterInterrupt
NdisMSynchronizeWithInterrupt