Función NdisClCloseAddressFamily (ndis.h)
NdisClCloseAddressFamily libera la asociación entre un protocolo de cliente y el AF registrado del controlador MCM o del administrador de llamadas para una NIC determinada a la que está enlazado el cliente.
Sintaxis
NDIS_STATUS NdisClCloseAddressFamily(
[in] NDIS_HANDLE NdisAfHandle
);
Parámetros
[in] NdisAfHandle
Especifica el identificador proporcionado por NDIS devuelto por NdisClOpenAddressFamilyEx.
Valor devuelto
Cuando NdisClCloseAddressFamily devuelve algo distinto de NDIS_STATUS_PENDING, el cliente debe realizar una llamada interna a su Función ProtocolClCloseAfComplete . De lo contrario, NDIS llama al cliente. Función ProtocolClCloseAfComplete cuando se completa esta operación.
Si NdisClCloseAddressFamily devuelve NDIS_STATUS_PENDING, un cliente que está esperando su La función ProtocolClCloseAfComplete a la que se va a llamar no debe bloquear el subproceso actual, ya que esto podría provocar un interbloqueo. Esto es especialmente importante cuando un cliente llama a NdisClCloseAddressFamily en el contexto de controlar un Solicitud NdisCmNotifyCloseAddressFamily . En este caso, es posible que el administrador de llamadas no cierre la familia de direcciones hasta que el cliente haya devuelto para controlar la solicitud NdisCmNotifyCloseAddressFamily . Si el cliente bloquea el subproceso actual, el cliente nunca completará el control de la solicitud NdisCmNotifyCloseAddressFamily , lo que provocará un interbloqueo.
Comentarios
Normalmente, un cliente llama a NdisClCloseAddressFamily desde su
Función ProtocolUnbindAdapterEx , después de cerrar todas las máquinas virtuales abiertas del cliente en el enlace con llamadas a NdisClCloseCall o NdisClDeregisterSap. Un cliente también puede llamar a NdisClCloseAddressFamily en el contexto de procesamiento de un Solicitud NdisCmNotifyCloseAddressFamily .
NDIS llama a la de un cliente La función ProtocolUnbindAdapterEx siempre que se quita de la máquina una NIC subyacente a la que está enlazado el cliente o se está reconfigurando. Una reconfiguración PnP del controlador de miniport subyacente hace que el administrador de llamadas o el controlador MCM vuelvan a registrar la familia de direcciones que admite en esa NIC. Esto, a su vez, provoca una llamada posterior al cliente. Función ProtocolCoAfRegisterNotify . En cualquier escenario, el cliente La función ProtocolUnbindAdapterEx debe llamar a NdisClCloseAddressFamily con cualquier NdisAfHandle pendiente que esté usando actualmente, que depende del controlador de miniport subyacente.
Como guía general, un cliente debe liberar todos los recursos que asignó para las comunicaciones orientadas a la conexión a través del controlador de miniporte antes de su La función ProtocolUnbindAdapterEx llama a NdisCloseAdapterEx.
El NdisAfHandle pasado a NdisClCloseAddressFamily deja de ser válido para el cliente en cuanto se produce esta llamada.
Antes de una llamada a NdisClCloseAddressFamily, el cliente puede usar NdisAfHandle mientras el AF está abierto o mientras un La operación ProtocolClNotifyCloseAf está pendiente. Si el parámetro La función ProtocolClNotifyCloseAf devuelve NDIS_STATUS_PENDING, use el identificador en . NdisClNotifyCloseAddressFamilyComplete llamada una vez completada la operación de cierre.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte NdisClCloseAddressFamily (NDIS 5.1)) en Windows Vista. Compatible con controladores NDIS 5.1 (consulte NdisClCloseAddressFamily (NDIS 5.1)) en Windows XP. |
Plataforma de destino | Escritorio |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | Irql_Protocol_Driver_Function(ndis) |