Compartir a través de


Función NdisMFreePort (ndis.h)

La función NdisMFreePort libera un puerto NDIS asignado previamente con la función NdisMAllocatePort.

Sintaxis

NDIS_STATUS NdisMFreePort(
       NDIS_HANDLE      NdisMiniportHandle,
  [in] NDIS_PORT_NUMBER PortNumber
);

Parámetros

NdisMiniportHandle

Identificador del adaptador de miniporte que NDIS pasó al parámetro MiniportAdapterHand le del parámetro de la función miniportInitializeEx.

[in] PortNumber

Número del puerto NDIS que NDIS debe liberar. El valor PortNumber es un valor NDIS_PORT_NUMBER, que tiene un tipo de datos ULONG. NDIS proporcionó el número de puerto en el miembro PortNumber del NDIS_PORT_CHARACTERISTICS estructura cuando el controlador de miniporte llamó a la función NdisMAllocatePort.

El número de puerto puede ser un número comprendido entre 1 y 0xffffff. No se puede establecer PortNumber en cero, lo que indica el puerto predeterminado.

Valor devuelto

NdisMFreePort puede devolver uno de los siguientes valores:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
NDIS liberó correctamente los recursos para el puerto.
NDIS_STATUS_INVALID_PORT
NDIS no pudo liberar los recursos para el puerto porque el número de puerto no era válido.
NDIS_STATUS_INVALID_PORT_STATE
NDIS no pudo liberar los recursos para el puerto porque el puerto estaba en un estado en el que la operación libre no es válida. Para liberar el puerto, el puerto debe estar en estado asignado.
NDIS_STATUS_INVALID_DATA
El número de puerto proporcionado en el parámetro PortNumber no era válido.

Observaciones

Si un controlador de miniporta asignó un puerto llamando a la función NdisMAllocatePort de, el controlador debe liberar el puerto antes de que vuelva de su función de MiniportHaltEx. Si el controlador de miniporte activó el puerto mediante la emisión de un evento NetEventPortActivation Plug and Play (PnP), el controlador debe emitir un evento NetEventPortDeactivation PnP para el puerto antes de liberar el puerto.

Cuando un controlador de miniporta llama a NdisMFreePort para liberar un puerto, NDIS también libera el número de puerto asignado al puerto liberado para que NDIS pueda reutilizar el número de puerto.

El controlador de miniport no debe intentar liberar el puerto predeterminado.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
de la plataforma de destino de Universal
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL <= DISPATCH_LEVEL
reglas de cumplimiento de DDI Irql_Miniport_Driver_Function(ndis)

Consulte también

puerto NDIS predeterminado

liberar un puerto NDIS

MiniportHaltEx

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMAllocatePort