Partilhar via


Registrando endpoints

O registo do programa de servidor no mapa de pontos de extremidade do computador host do servidor permite que programas cliente determinem a que ponto de extremidade (geralmente uma porta TCP/IP ou um pipe nomeado) o programa de servidor está a ouvir. Para registrar-se no mapa de pontos finais do sistema host do servidor, um programa de servidor chama a função RpcEpRegister, conforme mostrado no fragmento de código a seguir:

// This example assumes that MyInterface_v1_0_s_ifspec is a valid data
// structure that represents the interface being registered. The 
// variable is a valid pointer to a binding vector.
RPC_STATUS status;
status = RpcEpRegister(
    MyInterface_v1_0_s_ifspec,
    rpcBindingVector,
    NULL,
    NULL);

O primeiro parâmetro para RpcEpRegister é a estrutura que representa a interface. Você pode encontrá-lo no arquivo de cabeçalho que o compilador MIDL gerou a partir do seu arquivo MIDL para este aplicativo distribuído. Consulte Desenvolvendo a interface. Em seguida, RpcEpRegister precisa que seu aplicativo passe um conjunto de identificadores de vinculação armazenados em um vetor de vinculação.

Além de registrar nomes de interface, seu aplicativo de servidor também pode registrar UUIDs de objeto no mapa de ponto final. Neste exemplo, não há UUIDs de objeto para registrar, portanto, o terceiro parâmetro para RpcEpRegister é definido como NULL.

O último parâmetro é uma cadeia de caracteres de comentário. Embora a biblioteca de tempo de execução RPC não use essa cadeia de caracteres, a configuração da cadeia de caracteres é recomendada, pois melhora a capacidade de gerenciamento do sistema. Um administrador de sistema pode usar a cadeia de caracteres para detetar quais portas são usadas por quais aplicativos, que podem ser usadas para determinar quais portas devem ser gerenciadas por firewalls.