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.
Si la operación de complemento se realiza correctamente, NDIS ha establecido la variable en NdisPartyHandle en un identificador válido compartido entre NDIS, el cliente y el administrador de llamadas. El cliente debe tratar este identificador proporcionado por NDIS como una variable opaca que se va a pasar, sin modificar y sin interpretar, en llamadas posteriores a las funciones NdisCl/CoXxx relativas a la entidad recién agregada.

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)

Consulte también

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmAddPartyComplete

NdisCoCreateVc

NdisCoOidRequest

NdisCoOidRequestComplete

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete

ProtocolCmAddParty