Função NdisClAddParty (ndis.h)
NdisClAddParty adiciona uma parte no VC de vários pontos do cliente.
Sintaxe
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
Ponteiro para o identificador de VC retornado por NdisCoCreateVc.
[in] ProtocolPartyContext
Especifica o identificador para uma área de contexto residente alocada pelo chamador na qual o cliente manterá o estado por parte se sua chamada for bem-sucedida.
[in, out] CallParameters
Ponteiro para uma estrutura do tipo CO_CALL_PARAMETERS em que o chamador especificou as informações de endereçamento para a parte a ser adicionada em sua VC de vários pontos.
[out] NdisPartyHandle
Ponteiro para uma variável a ser definida pelo NDIS se a operação de suplemento for bem-sucedida.
Retornar valor
Quando NdisClAddParty retorna algo diferente de NDIS_STATUS_PENDING, o cliente deve fazer uma chamada interna para sua Função ProtocolClAddPartyComplete . Caso contrário, o NDIS chamará a função ProtocolClAddPartyComplete do cliente quando essa operação for concluída.
Comentários
Antes de chamar NdisClAddParty, um cliente deve configurar uma conexão de vários pontos em sua VC com NdisClMakeCall, bem como alocar e inicializar sua área de contexto para que a parte seja adicionada. Os clientes geralmente passam um ponteiro para uma área de contexto como ProtocolPartyContext e um ponteiro para uma variável dentro dessa área de contexto como os parâmetros NdisPartyHandle quando chamam NdisClAddParty.
Uma chamada para NdisClAddParty faz com que o NDIS encaminhe essa solicitação para a função ProtocolCmAddParty do gerenciador de chamadas com a qual o cliente compartilha o NdisVcHandle fornecido. O gerenciador de chamadas retorna um erro status imediatamente ou, mais comumente, NDIS_STATUS_PENDING se tentar atender a essa solicitação. Se sua tentativa for rejeitada no ponto de extremidade remoto ou pelo driver de miniporto subjacente, o gerenciador de chamadas retornará um erro final status, como NDIS_STATUS_FAILURE, quando chamar NdisCmAddPartyComplete ou NdisMCmAddPartyComplete. O do clienteA função ProtocolClAddPartyComplete deve marcar o argumento Status de entrada para NDIS_STATUS_SUCCESS antes de continuar.
O meio de rede subjacente determina se um cliente pode especificar parâmetros de tráfego por parte de uma VC de vários pontos.
Se o meio de rede subjacente não oferecer suporte a parâmetros de tráfego por parte em VCs de vários pontos, um gerenciador de chamadas poderá fazer um dos seguintes sempre que um cliente tentar adicionar uma parte com uma especificação em CallParameters que não corresponda aos parâmetros de tráfego já estabelecidos para essa VC:
- Rejeite a solicitação para adicionar uma nova parte.
- Redefina os parâmetros de tráfego para aqueles já estabelecidos para a VC de vários pontos quando ele adicionar com êxito a parte nessa VC.
- Altere os parâmetros de tráfego para todas as partes que já estão na VC quando ela adicionar a nova parte com êxito.
Por sua vez, o NDIS passa o identificador ProtocolPartyContext fornecido pelo cliente em chamadas subsequentes para as funções ProtocolClXxx do cliente que dizem respeito a essa parte recém-adicionada, incluindo a chamada para ProtocolClAddPartyComplete.
Se uma chamada multiponto permite transferências em ambas as direções e/ou transferências por parte com parâmetros de tráfego por parte, depende do meio do driver de miniporto subjacente ao qual o cliente está associado. O NdisPartyHandle representa apenas a parte específica adicionada por uma chamada bem-sucedida para NdisClAddParty, em vez do VC de vários pontos. Consequentemente, o cliente pode usar sua área ProtocolPartyContext somente para solicitações subsequentes de gerenciamento de chamadas específicas de partes. Para transferências de dados por mídia de rede que não dão suporte a transferências ou parâmetros de tráfego por parte, o cliente deve usar o NdisVcHandle .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisClAddParty (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisClAddParty (NDIS 5.1)) no Windows XP. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade da DDI | Irql_Protocol_Driver_Function(ndis) |