Función NdisClAddParty (ndis.h)
NdisClAddParty agrega una entidad en la credencial verificable 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 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 va a establecer 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 ProtocolClAddPartyComplete del cliente cuando se completa esta operación.
Comentarios
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. Normalmente, los clientes pasan un puntero a un área de contexto como ProtocolPartyContext y un puntero a una variable dentro de ese área de contexto como parámetros NdisPartyHandle cuando llaman a NdisClAddParty.
Una llamada a NdisClAddParty hace que NDIS reenvíe esta solicitud a la función ProtocolCmAddParty del administrador de llamadas con el que el cliente comparte el NdisVcHandle especificado. El administrador de llamadas devuelve un estado de error inmediatamente o, normalmente, 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 La 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 una credencial verificable 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 siguientes acciones siempre que un cliente intente agregar una entidad con una especificación en CallParameters que no coincida con los parámetros de tráfico ya establecidos para esa credencial verificable:
- Rechace la solicitud para agregar una nueva entidad.
- Restablezca los parámetros de tráfico a los ya establecidos para la credencial verificable de varios puntos cuando agregue correctamente la entidad en esa credencial verificable.
- Cambie los parámetros de tráfico de cada entidad que ya esté en la credencial verificable cuando agregue correctamente la nueva entidad.
A su vez, NDIS pasa el identificador ProtocolPartyContext proporcionado por el cliente en llamadas posteriores a las funciones ProtocolClXxx del cliente que se refieren a esta entidad recién agregada, incluida la llamada a . ProtocolClAddPartyComplete.
Si una llamada multipunto permite transferencias tanto en direcciones como en transferencias por entidad con parámetros de tráfico por entidad depende del medio del controlador de miniport subyacente al que está enlazado el cliente. 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 de administración de llamadas específicas de terceros posteriores. 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 NdisVcHandle en su lugar.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | 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. |
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) |