Como registrar os pontos de extremidade

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

// 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 do arquivo MIDL para este aplicativo distribuído. Consulte Desenvolvendo a interface. Em seguida, RpcEpRegister precisa que seu aplicativo passe um conjunto de identificadores de associação armazenados em um vetor de associação.

Além de registrar nomes de interface, seu aplicativo de servidor também pode registrar UUIDs de objeto no mapa do ponto de extremidade. Neste exemplo, não há UUIDs de objeto a serem registrados, 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 definição da cadeia de caracteres é recomendada, pois melhora a capacidade de gerenciamento do sistema. Um administrador do sistema pode usar a cadeia de caracteres para detectar quais portas são usadas por quais aplicativos, que podem ser usados para determinar quais portas serão gerenciadas por firewalls.