Função RpcEpRegister (rpcdce.h)
A função RpcEpRegister adiciona ou substitui informações de endereço do servidor no banco de dados de mapa de ponto de extremidade local.
Sintaxe
RPC_STATUS RpcEpRegister(
RPC_IF_HANDLE IfSpec,
RPC_BINDING_VECTOR *BindingVector,
UUID_VECTOR *UuidVector,
RPC_CSTR Annotation
);
Parâmetros
IfSpec
Interface a ser registrada com o banco de dados de mapa de ponto de extremidade local.
BindingVector
Ponteiro para um vetor de identificadores de associação sobre os quais o servidor pode receber chamadas de procedimento remoto.
UuidVector
Ponteiro para um vetor de UUIDs de objeto oferecidos pelo servidor. O aplicativo de servidor constrói esse vetor. Um valor de argumento nulo indica que não há UUIDs de objeto para registrar.
Annotation
Ponteiro para o comentário de cadeia de caracteres aplicado a cada elemento de produto cruzado adicionado ao banco de dados de mapa de ponto de extremidade local. A cadeia de caracteres pode ter até 64 caracteres, incluindo o caractere de terminação nula. Especifique um valor nulo ou uma cadeia de caracteres terminada em nulo ("\0") se não houver nenhuma cadeia de caracteres de anotação.
A cadeia de caracteres de anotação é usada por aplicativos somente para informações. O RPC não usa essa cadeia de caracteres para determinar com qual instância de servidor um cliente se comunica ou para enumerar elementos no banco de dados de mapa de ponto de extremidade.
Valor retornado
Valor | Significado |
---|---|
|
A chamada foi bem-sucedida. |
|
Sem associações. |
|
O identificador de associação era inválido. |
|
Esse era o tipo errado de associação para a operação. |
Comentários
A função RpcEpRegister adiciona ou substitui entradas no banco de dados de mapa de ponto de extremidade do host local. Para uma entrada de banco de dados existente que corresponde à especificação de interface fornecida, ao identificador de associação e ao UUID do objeto, essa função substitui o ponto de extremidade da entrada pelo ponto de extremidade no identificador de associação fornecido.
Um servidor pode usar RpcEpRegister e RpcEpRegisterNoReplace para registrar entradas no banco de dados mapeador do ponto de extremidade. Anteriormente ao Windows 2000, duas funções estavam disponíveis para permitir que um servidor substituísse entradas obsoletas no banco de dados mapeador de ponto de extremidade deixado de instâncias de servidor anteriores que não estão mais em execução. O banco de dados mapeador de ponto de extremidade remove automaticamente as entradas registradas por uma instância de servidor assim que o servidor para de funcionar. No entanto, os servidores não têm permissão para substituir as entradas do mapeador de ponto de extremidade de outro servidor para fins de segurança. Portanto, RpcEpRegister e RpcEpRegisterNoReplace executam em grande parte a mesma funcionalidade.
Um aplicativo de servidor chama RpcEpRegister para registrar pontos de extremidade especificados chamando qualquer uma das seguintes funções:
- RpcServerUseAllProtseqs
- RpcServerUseProtseq
- RpcServerUseProtseqEp
- RpcServerUseAllProtseqsIf
- RpcServerUseProtseqIf
Se uma sequência de protocolo for usada sem especificar um ponto de extremidade, a biblioteca de tempo de execução RPC gerará automaticamente um ponto de extremidade dinâmico. Nesse caso, o servidor pode chamar RpcServerInqBindings seguido por RpcEpRegister para se disponibilizar para vários clientes. Caso contrário, o servidor iniciado automaticamente é conhecido apenas pelo cliente para o qual o servidor foi iniciado. Cada elemento adicionado ao banco de dados de mapa de ponto de extremidade contém logicamente o seguinte:
- UUID da interface
- Versão da interface (principal e secundária)
- Identificador de associação
- UUID do objeto (opcional)
- Anotação (opcional)
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | rpcdce.h (inclua Rpc.h) |
Biblioteca | Rpcrt4.lib |
DLL | Rpcrt4.dll |