MiniportHalt
9/8/2008
MiniportHalt é um exigido função que de-allocates recursos ao adaptador de rede é removido e é interrompida adaptador de rede.
Syntax
VOID MiniportHalt(
NDIS_HANDLE MiniportAdapterContext
);
Parameters
- 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
MiniportHalt deve parar adaptador de rede, se ele controla um físico adaptador de rede e deve livre todos os recursos que o driver alocada para seu adaptador rede antes MiniportHalt controle retorna. No efeito, MiniportHalt desfaz tudo que foi feito por MiniportInitialize Para um adaptador rede particular.
Se memória driver alocado adaptador de rede, solicitado um intervalo de portas E/S, memória mapeada dispositivo da placa para hospedar memória, timers inicializados e / ou rotação bloqueia, alocado registradores mapa (n.); mapear (v.) ou solicitado um canalizar acesso direto à memória (DMA) e registrado uma interrupção, esse driver deve chamar as recíprocas das NDISXXX funções com o qual ele originalmente alocado esses recursos.
Em geral, um MiniportHalt função deve chamar recíproca NDISXXX o driver funções na ordem inversa para as chamadas feitas a partir MiniportInitialize. Isto é, se do driver adaptador uma rede MiniportInitialize função chamado NdisMRegisterAdapterShutdownHandler Pouco antes ele retornado controle, seu MiniportHalt função seria chamar NdisMDeregisterAdapterShutdownHandler primeiro.
Se seu adaptador rede gera interrompe ou compartilha do um IRQ, um driver adaptador rede MiniportHalt função pode ser Pre-empted por seu MiniportISR Ou MiniportDisableInterrupt função até MiniportHalt Chamadas NdisMDeregisterInterrupt. Tal de um driver MiniportHalt função geralmente desabilita as interrupções no adaptador de rede, se possível e chamadas NdisMDeregisterInterrupt tão logo possível.
Se o driver tem uma MiniportTimer função associado com qualquer objeto timer que pode estar na fila de timer de sistema, MiniportHalt deve chamar NdisMCancelTimer.
Caso contrário, ele é desnecessário para a miniporta para completo pendente solicitações para seu adaptador rede antes MiniportHalt Começa liberando recursos alocados. NDIS não envia nenhuma solicitação adicional para a miniporta para adaptador de rede designado pela MiniportAdapterContext identificador quando tiver NDIS chamado MiniportHalt. No retorno de MiniportHaltNDIS, limpa qualquer estado ele foi manter sobre este adaptador rede e sobre seu driver se este miniporta suportar há outros adaptadores rede na atual máquina.
Um intermediário NDIS chamar do driver para NdisIMDeInitializeDeviceInstance Faz com que um chamar a sua MiniportHalt função.
Requirements
Header | externs.h |
Windows Embedded CE | Windows CE .NET 4.0 and later |
See Also
Reference
MiniportDisableInterrupt
MiniportInitialize
MiniportISR
MiniportTimer
NdisFreeMemory
NdisFreeSpinLock
NdisIMDeInitializeDeviceInstance
NdisMCancelTimer
NdisMDeregisterAdapterShutdownHandler
NdisMDeregisterInterrupt
NdisMDeregisterIoPortRange
NdisMFreeMapRegisters
NdisMRegisterAdapterShutdownHandler
NdisMUnmapIoSpace
ProtocolUnbindAdapter