Função NdisMFreePort (ndis.h)
A função NdisMFreePort libera uma porta NDIS que foi alocada anteriormente com a função NdisMAllocatePort .
Sintaxe
NDIS_STATUS NdisMFreePort(
NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_PORT_NUMBER PortNumber
);
Parâmetros
NdisMiniportHandle
O identificador do adaptador de miniport que o NDIS passou para o parâmetro MiniportAdapterHandle do Função MiniportInitializeEx .
[in] PortNumber
O número da porta NDIS que o NDIS deve liberar. O valor PortNumber é um valor NDIS_PORT_NUMBER, que tem um tipo de dados ULONG. O NDIS forneceu o número da porta no membro PortNumber do NDIS_PORT_CHARACTERISTICS estrutura quando o driver de miniporto chamou a função NdisMAllocatePort .
O número da porta pode ser um número de 1 a 0xffffff. Não é possível definir PortNumber como zero, o que indica a porta padrão.
Retornar valor
NdisMFreePort pode retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
O NDIS liberou com êxito os recursos para a porta. |
|
O NDIS não pôde liberar os recursos para a porta porque o número da porta era inválido. |
|
O NDIS não pôde liberar os recursos para a porta porque a porta estava em um estado em que a operação gratuita é inválida. Para liberar a porta, a porta deve estar no estado alocado. |
|
O número da porta fornecido no parâmetro PortNumber era inválido. |
Comentários
Se um driver de miniporto alocou uma porta chamando a função NdisMAllocatePort , o driver deverá liberar a porta antes de retornar de sua função MiniportHaltEx . Se o driver de miniporto ativou a porta emitindo um evento netEventPortActivation Plug and Play (PnP), o driver deverá emitir um evento PnP NetEventPortDeactivation para a porta antes de liberar a porta.
Quando um driver de miniporto chama NdisMFreePort para liberar uma porta, o NDIS também libera o número da porta atribuída à porta liberada para que o NDIS possa reutilizar o número da porta.
O driver de miniporta não deve tentar liberar a porta padrão.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Plataforma de Destino | Universal |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade da DDI | Irql_Miniport_Driver_Function(ndis) |