Compartilhar via


MiniportReset

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função é um exigido função que emite um redefinir hardware ao adaptador de rede e / ou redefine software estado do driver.

Syntax

NDIS_STATUS MiniportReset(
  PBOOLEAN AddressingReset,
  NDIS_HANDLE MiniportAdapterContext
);

Parameters

  • AddressingReset
    [out] Aponta para uma variável que MiniportReset Define como TRUE se a biblioteca NDIS deve chamar MiniportSetInformation Para restaurar de resolução informações para o atual valores.
  • 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

A seguinte tabela mostra os valores de status que MiniportReset pode retornar.

Valores Descrição

NDIS_STATUS_SUCCESS

MiniportReset Com êxito redefinir adaptador de rede para um estado operacional.

NDIS_STATUS_PENDING

O driver será completo a operação redefinir de forma assíncrona por chamado NdisMResetComplete Quando a operação é feita.

NDIS_STATUS_NOT_RESETTABLE

Adaptador de rede não fornece recursos redefinir sob controle software.

NDIS_STATUS_RESET_IN_PROGRESS

MiniportReset determinar que adaptador de rede atualmente estava sendo redefinir, portanto, este chamar é supérfluas.

NDIS_STATUS_SOFT_ERRORS

MiniportReset Com êxito redefinir adaptador de rede, mas um reparável erro durante a operação. MiniportReset foi chamado NdisWriteErrorLogEntry com mais informações sobre o erro.

NDIS_STATUS_HARD_ERRORS

MiniportReset tentou redefinir adaptador de rede, mas um irreparável erro durante a operação. MiniportReset foi chamado NdisWriteErrorLogEntry com mais informações sobre o erro.

Remarks

MiniportReset pode redefinir os parâmetros do seu adaptador rede. Se uma alteração causar um redefinir no endereço estação do adaptador de rede, restaura automaticamente a miniporta o endereço estação seguinte a redefinir para seu valor anterior. Quaisquer Multicast ou de resolução funcional redefinir máscaras pelo hardware não precisa ser redefinir nessa função.

Se outras informações, such as Multicast ou de resolução funcional informações ou o tamanho look-ahead, é alterado por um redefinir, MiniportReset Defina a variável no AddressingReset Para TRUE antes de que retornará controle. Isso faz com que NDIS para chamar o MiniportSetInformation função para restaurar as informações.

Como regra geral, o MiniportReset função de um intermediário NDIS driver deve sempre configurada AddressingReset para TRUE. Até o subjacente driver adaptador rede Redefine seu adaptador rede, tal um intermediário driver não é possível determinar se ele deve restaurar de resolução informações para seu adaptador rede virtual. Como um intermediário desativa driver temporização biblioteca de NDIS out of enfileirado envia e solicita a si mesmo com uma inicialização-chamar tempo para NdisMSetAttributesEx, tal de um driver MiniportReset função é chamado apenas quando uma solicitação redefinir é direcionada para o subjacente driver adaptador rede.

Drivers intermediários que camada próprios acima outros tipos de drivers dispositivo também devem ter um MiniportReset função. Tais um MiniportReset função deve identificador redefinir solicitações iniciadas pelo ' protocolo drivers Chamadas para NdisReset. Se o intermediário driver também possui um MiniportCheckForHang função, seu MiniportReset função será chamado sempre que MiniportCheckForHang Retorna TRUE.

Ele é desnecessário para um driver para completo pendente solicitações antes MiniportReset Começa a redefinição adaptador de rede ou atualizar seu estado software. NDIS não envia nenhuma solicitação adicional para a miniporta para adaptador de rede designado pela MiniportAdapterContext identificador quando tiver NDIS chamado MiniportReset até que a operação redefinir seja concluída. Uma miniporta necessário não chamar NdisMIndicateStatus Para sinalizar o iniciar e concluir de cada operação redefinir porque NDIS notifica ligado protocolos quando um redefinir começa e termina.

Se MiniportReset deve aguardar estado for alterado no adaptador de rede durante operações redefinir, ele poderá chamar NdisStallExecution. No entanto, um MiniportReset função deve Nunca chamar NdisStallExecution Com um intervalo maior que 50 microssegundos.

Se MiniportReset Retorna NDIS_STATUS_PENDING, o driver deve completo a original solicitação subseqüentemente com um chamar para NdisMResetComplete.

MiniportReset Pode ser Pre-empted por uma interrupção.

Se um driver adaptador rede fornece uma MiniportCheckForHang função, a biblioteca NDIS chama periodicamente para determinar se do chamar o driver MiniportReset função. Sempre que as solicitações que NDIS enviadas para o MiniportQueryInformation, MiniportSetInformation, MiniportSend, ou MiniportWanSend funções pareçam ter tempo limite atingido, a biblioteca NDIS chamadas do driver adaptador uma rede MiniportReset função. Por padrão, tempo limite NDIS-determined intervalo para pendente envia e solicitações é cerca de quatro segundos. Se este usar como padrão é muito curta, um driver adaptador rede poderá fazer uma inicialização-chamar tempo para NdisMSetAttributesEx, Em vez de NdisMSetAttributes, para aumentar o intervalo tempo limite de acordo com seu adaptador rede.

Cada intermediário NDIS driver deve chamar NdisMSetAttributesEx a partir MiniportInitialize desativar o NDIS tenta tempo limite solicitações e envia o intermediário driver. NDIS executa um intermediário do driver MiniportCheckForHang função, se houver, cerca de cada dois segundos.

NDIS não pode determinar se um adaptador rede pode ser suspenso em recebe, portanto, supplying um MiniportCheckForHang função permite que um driver para monitor seu adaptador rede para esta condição e forçar um redefinir se ele ocorre.

Requirements

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

See Also

Reference

MiniportCheckForHang
MiniportInitialize
MiniportQueryInformation
MiniportSend
MiniportSetInformation
MiniportWanSend
NdisMIndicateStatus
NdisMResetComplete
NdisMSetAttributes
NdisMSetAttributesEx
NdisReset
NdisStallExecution
NdisWriteErrorLogEntry