Función NdisClAddParty (ndis.h)
NdisClAddParty agrega una entidad en la vc multipunto del cliente.
Sintaxis
NDIS_STATUS NdisClAddParty(
[in] NDIS_HANDLE NdisVcHandle,
[in] NDIS_HANDLE ProtocolPartyContext,
[in, out] PCO_CALL_PARAMETERS CallParameters,
[out] PNDIS_HANDLE NdisPartyHandle
);
Parámetros
[in] NdisVcHandle
Puntero al identificador de VC devuelto por NdisCoCreateVc.
[in] ProtocolPartyContext
Especifica el identificador de un área de contexto residente asignada por el autor de la llamada en la que el cliente mantendrá el estado por parte si su llamada se realiza correctamente.
[in, out] CallParameters
Puntero a una estructura de tipo CO_CALL_PARAMETERS en la que el autor de la llamada ha especificado la información de direccionamiento de la entidad que se va a agregar en su VC de varios puntos.
[out] NdisPartyHandle
Puntero a una variable que se va a establecer mediante NDIS si la operación del complemento se realiza correctamente.
Valor devuelto
Cuando NdisClAddParty devuelve algo distinto de NDIS_STATUS_PENDING, el cliente debe realizar una llamada interna a su función protocolClAddPartyComplete. De lo contrario, NDIS llama a la función protocolClAddPartyComple te del cliente cuando se completa esta operación.
Observaciones
Antes de llamar a NdisClAddParty, un cliente debe configurar una conexión multipunto en su VC con NdisClMakeCall, así como asignar e inicializar su área de contexto para que se agregue la entidad. Los clientes suelen pasar un puntero a un área de contexto como el ProtocolPartyContext y un puntero a una variable dentro de ese área de contexto como parámetros de NdisPartyHandle cuando llaman a NdisClAddParty.
Una llamada a NdisClAddParty hace que NDIS reenvíe esta solicitud a la función ProtocolCmAddParty de del administrador de llamadas con la que el cliente comparte el dado NdisVcHandle . El administrador de llamadas devuelve un estado de error inmediatamente o, más comúnmente, NDIS_STATUS_PENDING si intenta satisfacer esta solicitud. Si su intento se rechaza en el punto de conexión remoto o en el controlador de miniport subyacente, el administrador de llamadas devuelve un estado de error final, como NDIS_STATUS_FAILURE, cuando llama a NdisCmAddPartyComplete o NdisMCmAddPartyComplete. El cliente función ProtocolClAddPartyComplete debe comprobar el argumento Status de entrada para NDIS_STATUS_SUCCESS antes de continuar.
El medio de red subyacente determina si un cliente puede especificar parámetros de tráfico por entidad en un VC de varios puntos.
Si el medio de red subyacente no admite parámetros de tráfico por entidad en máquinas virtuales de varios puntos, un administrador de llamadas puede realizar una de las acciones siguientes cada vez que un cliente intenta agregar una entidad con una especificación en CallParameters que no coincide con los parámetros de tráfico ya establecidos para ese VC:
- Rechace la solicitud para agregar una nueva entidad.
- Restablezca los parámetros de tráfico a los ya establecidos para el VC de varios puntos cuando agregue correctamente la entidad en ese VC.
- Cambie los parámetros de tráfico de cada entidad que ya esté en el VC cuando agregue correctamente la nueva entidad.
A su vez, NDIS pasa el ProtocolPartyContext proporcionado por el cliente en llamadas posteriores a las funciones ProtocolCl del clienteXxx que se refieren a esta entidad recién agregada, incluida la llamada a . ProtocolClAddPartyComplete.
Si una llamada de varios puntos permite transferencias tanto en direcciones como en transferencias por parte con parámetros de tráfico por parte depende del medio del controlador de miniport subyacente al que está enlazado el cliente. El NdisPartyHandle representa solo la entidad específica agregada por una llamada correcta a NdisClAddParty, en lugar de la vc de varios puntos. Por lo tanto, el cliente puede usar su área ProtocolPartyContext solo para solicitudes posteriores de administración de llamadas específicas de la entidad. En el caso de las transferencias de datos a través de medios de red que no admiten transferencias por entidad o parámetros de tráfico, el cliente debe usar en su lugar el NdisVcHandle.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulte NdisClAddParty (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisClAddParty (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) |