Compartilhar via


Função NdisClRegisterSap (ndis.h)

NdisClRegisterSap registra um SAP no qual o cliente pode receber chamadas de entrada de um nó remoto.

Sintaxe

NDIS_STATUS NdisClRegisterSap(
  [in]  NDIS_HANDLE  NdisAfHandle,
  [in]  NDIS_HANDLE  ProtocolSapContext,
  [in]  PCO_SAP      Sap,
  [out] PNDIS_HANDLE NdisSapHandle
);

Parâmetros

[in] NdisAfHandle

Especifica o identificador retornado por NdisClOpenAddressFamilyEx, que identifica implicitamente o gerenciador de chamadas com o qual registrar o SAP.

[in] ProtocolSapContext

Especifica o identificador para uma área de contexto residente fornecida pelo chamador na qual o cliente mantém o estado para esse SAP depois de aberto. O NDIS passa esse identificador de volta para o cliente em todas as chamadas subsequentes relacionadas a esse SAP se a chamada para NdisClRegisterSap for bem-sucedida.

[in] Sap

Ponteiro para uma especificação fornecida pelo cliente para que o SAP seja aberto, formatado como uma estrutura do tipo CO_SAP.

[out] NdisSapHandle

Ponteiro para uma variável na qual um identificador para o SAP recém-registrado será retornado se essa chamada for bem-sucedida.

Retornar valor

Quando NdisClRegisterSap retorna qualquer coisa diferente de NDIS_STATUS_PENDING, o cliente deve fazer uma chamada interna para sua Função ProtocolClRegisterSapComplete . Caso contrário, o NDIS chamará a função ProtocolClRegisterSapComplete do cliente quando essa operação for concluída.

Comentários

Com uma chamada para NdisClRegisterSap, um cliente solicita notificações de chamadas de entrada em um SAP específico. O NDIS encaminha as informações do SAP fornecidas para a função ProtocolCmRegisterSap do gerenciador de chamadas para validação. Se o SAP fornecido já estiver em uso ou se o gerenciador de chamadas não reconhecer a especificação fornecida pelo cliente no Sap, o gerenciador de chamadas falhará nessa solicitação.

O formato SAP é médio dependente e específico para a família de endereços compatível com o gerenciador de chamadas, que usa SAPs registrados posteriormente para rotear chamadas de entrada para o cliente apropriado. Um gerenciador de chamadas pode registrar SAPs para PVCs estabelecidos sem entrar em contato com outros componentes de rede, dependendo do meio subjacente.

Se sua chamada para NdisClRegisterSap for bem-sucedida, o cliente deverá salvar o identificador retornado em NdisSapHandle porque ele é um parâmetro necessário para NdisClDeregisterSap. Os chamadores de NdisClRegisterSap geralmente passam um ponteiro para uma variável na área de estado alocada pelo cliente em ProtocolSapContext para que o NDIS possa defini-lo como NdisSapHandle se essa chamada for bem-sucedida. O NDIS passa o ProtocolSapContext especificado para as funções ProtocolCl/CoXxx registradas do cliente em todas as chamadas subsequentes relacionadas a esse SAP até que o cliente chame NdisClDeregisterSap.

Normalmente, um cliente chama NdisClRegisterSap de sua função ProtocolAfRegisterNotify após sua chamada bem-sucedida para NdisClOpenAddressFamilyEx. Registrar um ou mais SAPs permite que o cliente receba suas chamadas de entrada assim que o gerenciador de chamadas as receber pela rede.

Em contraste com as chamadas de saída iniciadas pelo cliente, um cliente não chama NdisCoCreateVc antes de chamar NdisClRegisterSap. Para chamadas de entrada, o gerenciador de chamadas inicia a criação da VC, da seguinte maneira:

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisClRegisterSap (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisClRegisterSap (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 de DDI Irql_Protocol_Driver_Function(ndis)

Confira também

CO_SAP

NdisClDeregisterSap

NdisClMakeCall

NdisCmDispatchIncomingCall

NdisCoCreateVc

ProtocolClIncomingCall

ProtocolClRegisterSapComplete

ProtocolCmRegisterSap

ProtocolCoAfRegisterNotify

ProtocolCoCreateVc