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 liberó correctamente los recursos para el puerto. |
|
NDIS no pudo liberar los recursos para el puerto porque el número de puerto no era válido. |
|
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. |
|
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) |