Función NdisMFreePort (ndis.h)
La función NdisMFreePort libera un puerto NDIS que se asignó anteriormente con la función NdisMAllocatePort .
NDIS_STATUS NdisMFreePort(
NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_PORT_NUMBER PortNumber
);
NdisMiniportHandle
Identificador del adaptador de minipuerto que NDIS pasó al parámetro MiniportAdapterHandle del Función MiniportInitializeEx .
[in] PortNumber
Número del puerto NDIS que NDIS debe liberar. El valor PortNumber es un valor de 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 minipuerto 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.
NdisMFreePort puede devolver uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
|
NDIS liberó correctamente los recursos para el puerto. |
|
NDIS no pudo liberar los recursos del puerto porque el número de puerto no era válido. |
|
NDIS no pudo liberar los recursos del 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 el estado asignado. |
|
El número de puerto que se proporcionó en el parámetro PortNumber no era válido. |
Si un controlador de minipuerto ha asignado un puerto mediante una llamada a la función NdisMAllocatePort , el controlador debe liberar el puerto antes de que vuelva de su función MiniportHaltEx . Si el controlador de minipuerto activó el puerto mediante la emisión de un evento NetEventPortActivation Plug and Play (PnP), el controlador debe emitir un evento PnP netEventPortDeactivation para el puerto antes de liberar el puerto.
Cuando un controlador de minipuerto 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 minipuerto no debe intentar liberar el puerto predeterminado.
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite en NDIS 6.0 y versiones posteriores. |
Plataforma de destino | Universal |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | Irql_Miniport_Driver_Function(ndis) |