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 VC retornado por NdisCoCreateVc.
[in] ProtocolPartyContext
Especifica o identificador para uma área de contexto residente alocada por chamador na qual o cliente manterá o estado por parte se a 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 seu 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.
Valor de retorno
Quando NdisClAddParty retorna qualquer coisa 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.
Observações
Antes de chamar NdisClAddParty, um cliente deve configurar uma conexão de vários pontos em seu 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 a ProtocolPartyContext e um ponteiro para uma variável dentro dessa área de contexto como os parâmetros de 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 determinado. O gerenciador de chamadas retorna um status de erro 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 status de erro final, como NDIS_STATUS_FAILURE, quando chamar NdisCmAddPartyComplete ou NdisMCmAddPartyComplete. Do cliente função ProtocolClAddPartyComplete deve verificar o argumento de de status de 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 de usuários 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 o VC de vários pontos quando ele adiciona com êxito a parte nessa VC.
- Altere os parâmetros de tráfego para todas as partes já 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 o ProtocolCl do clientexxx funções que dizem respeito a essa parte recém-adicionada, incluindo a chamada para ProtocolClAddPartyComplete.
Se uma chamada de vários pontos 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 de ProtocolPartyContext somente para solicitações de gerenciamento de chamadas específicas de terceiros subsequentes. Para transferências de dados por mídia de rede que não dão suporte a transferências por parte ou parâmetros de tráfego, o cliente deve usar o NdisVcHandle em vez disso.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | 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. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | ndis.h (inclua Ndis.h) |
biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
regras de conformidade de DDI | Irql_Protocol_Driver_Function(ndis) |