Función NdisClDropParty (ndis.h)
NdisClDropParty quita una entidad de la vc multipoint del cliente.
Sintaxis
NDIS_STATUS NdisClDropParty(
[in] NDIS_HANDLE NdisPartyHandle,
[in, optional] PVOID Buffer,
[in, optional] UINT Size
);
Parámetros
[in] NdisPartyHandle
Especifica el identificador que identifica la entidad que se va a quitar en la conexión de varios puntos. El cliente obtuvo este identificador de una llamada anterior a NdisClAddParty o NdisClMakeCall.
[in, optional] Buffer
Puntero a un búfer asignado por el autor de la llamada que contiene los datos que se van a transmitir para cerrar la conexión multipunto de la entidad en el nodo remoto. Dependiendo del medio subyacente, este puntero puede ser NULL.
[in, optional] Size
Especifica el tamaño en bytes en búfer, cero si el búfer es NULL.
Valor devuelto
Cuando NdisClDropParty devuelve algo distinto de NDIS_STATUS_PENDING, el cliente debe realizar una llamada interna a su Función ProtocolClDropPartyComplete . De lo contrario, NDIS llama a la función ProtocolClDropPartyComplete del cliente cuando se completa esta operación.
Comentarios
Los clientes suelen llamar a NdisClDropParty en cualquiera de las siguientes circunstancias:
-
Desde la lista Función ProtocolClIncomingDropParty para quitar la entidad especificada de una conexión de varios puntos.
Esto ocurre cuando un usuario de un nodo remoto cierra su conexión con NdisClCloseCall. Cuando NDIS llama a la función ProtocolClDropPartyComplete del cliente local, puede liberar o reutilizar el área de contexto en ProtocolPartyContext en la que el cliente estaba manteniendo el estado sobre esta entidad.
-
Antes de que el cliente llame a NdisClCloseCall con la última entidad en una conexión multipunto que el cliente configuró originalmente con NdisClMakeCall.
Para este tipo de cierre iniciado por el cliente de su propia llamada de varios puntos, el cliente debe llamar a NdisClDropParty una o varias veces para quitar cada otra parte restante en el VC de varios puntos.
Como guía general, un cliente debe llamar a NdisClDropParty tantas veces como llamó a NdisClAddParty con un NdisVcHandle determinado obtenido de NdisClMakeCall antes de cerrar su conexión multipunto con NdisClCloseCall. Dado que las partes remotas pueden iniciar cierres de sus conexiones, lo que provoca llamadas al cliente local La función ProtocolClIncomingDropParty , el cliente local debe realizar un seguimiento del número de partes activas en sus máquinas virtuales de varios puntos para saber cuántas llamadas debe realizar a NdisClDropParty para poder llamar a NdisClCloseCall.
Sin embargo, no es necesario que el cliente pase NdisClCloseCall el mismo NdisPartyHandle devuelto por NdisClMakeCall cuando el cliente configuró originalmente su conexión de varios puntos. El cliente puede liberar partes en su VC de varios puntos en cualquier orden, siempre que libere cada NdisPartyHandle devuelto por NdisClAddParty o NdisClMakeCall en sus llamadas a NdisClDropParty, seguido de una llamada final con el último identificador de entidad a NdisClCloseCall para el mismo VC de varios puntos. Una vez que el cliente ha cerrado su llamada a varios puntos, puede liberar el VC que creó originalmente con NdisCoDeleteVc.
El autor de la llamada de NdisClDropParty debe considerar que la entrada NdisPartyHandle no es válida en cuanto realiza esta llamada. Si almacenó este identificador en el área de contexto de entidad que asignó, el cliente La función ProtocolClDropPartyComplete debe restablecer la variable handle a NULL si reinicializa su área de contexto por parte para reutilizarla cuando se ha quitado la entidad.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte NdisClDropParty (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisClDropParty (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) |