Compartir a través de


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 de búfer de 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.

Observaciones

Los clientes suelen llamar a NdisClDropParty en cualquiera de las siguientes circunstancias:

  • Del función ProtocolClIncomingDropParty para quitar la entidad especificada de una conexión de varios puntos.

    Esto ocurre cuando una entidad 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 multipunto, el cliente debe llamar a NdisClDropParty una o varias veces para quitar todas las demás partes restantes en la vc de varios puntos.

La llamada de un cliente a NdisClDropParty hace que NDIS llame a la función ProtocolCmDropParty del administrador de llamadas que comparte la misma NdisVcHandle a la vc de varios puntos. El administrador de llamadas es responsable de notificar a su nodo remoto del mismo nivel que la conexión de entidad se ha cerrado o debe cerrarse, en función del cliente que inició la operación de eliminación.

Como norma general, un cliente debe llamar a NdisClDropParty tantas veces como llamó a NdisClAddParty con un NdisVcHandle obtenido de NdisClMakeCall antes de cerrar su conexión multipoint con NdisClCloseCall. Dado que las partes remotas pueden iniciar cierres de sus conexiones, lo que provoca llamadas al cliente local. función protocolClIncomingDropParty, el cliente local debe realizar un seguimiento del número de entidades activas en sus máquinas virtuales de varios puntos para saber cuántas llamadas debe realizar para NdisClDropParty para poder llamar a NdisClCloseCall.

Sin embargo, no es necesario que el cliente pase NdisClCloseCall la misma NdisPartyHandle devuelto por NdisClMakeCall cuando el cliente configuró originalmente su conexión multipunto. El cliente puede liberar partes en su VC de varios puntos en cualquier orden, siempre y cuando libere cada NdisPartyHandle devuelto por NdisClAddParty o NdisClMakeCall en sus llamadas a NdisClDropParty, seguido de una llamada final con el identificador de última entidad para 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 tener en cuenta la entrada NdisPartyHandle no válida en cuanto realiza esta llamada. Si almacenó este identificador en el área de contexto de entidad que asignó, el cliente 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 Valor
cliente mínimo admitido Compatible con los 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.
de la plataforma de destino de Escritorio
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL <= DISPATCH_LEVEL
reglas de cumplimiento de DDI Irql_Protocol_Driver_Function(ndis)

Consulte también

NdisClAddParty

NdisClCloseCall

NdisClMakeCall

NdisCoDeleteVc

ProtocolClDropPartyComplete

ProtocolClIncomingDropParty

ProtocolCmDropParty de