Función RpcEpRegister (rpcdce.h)

La función RpcEpRegister agrega o reemplaza la información de dirección del servidor en la base de datos local de mapa de puntos de conexión.

Sintaxis

RPC_STATUS RpcEpRegister(
  RPC_IF_HANDLE      IfSpec,
  RPC_BINDING_VECTOR *BindingVector,
  UUID_VECTOR        *UuidVector,
  RPC_CSTR           Annotation
);

Parámetros

IfSpec

Interfaz para registrarse con la base de datos local de mapa de puntos de conexión.

BindingVector

Puntero a un vector de identificadores de enlace sobre los que el servidor puede recibir llamadas a procedimientos remotos.

UuidVector

Puntero a un vector de UUID de objeto ofrecidos por el servidor. La aplicación de servidor construye este vector. Un valor de argumento NULL indica que no hay UUID de objeto que se van a registrar.

Annotation

Puntero al comentario de cadena de caracteres aplicado a cada elemento entre productos agregado a la base de datos local del mapa de puntos de conexión. La cadena puede tener hasta 64 caracteres, incluido el carácter de terminación NULL. Especifique un valor NULL o una cadena terminada en NULL ("\0") si no hay ninguna cadena de anotación.

Las aplicaciones solo usan la cadena de anotación para obtener información. RPC no usa esta cadena para determinar con qué instancia de servidor se comunica un cliente o para enumerar elementos de la base de datos de mapa de punto de conexión.

Valor devuelto

Valor Significado
RPC_S_OK
La llamada se realizó correctamente.
RPC_S_NO_BINDINGS
Sin enlaces.
RPC_S_INVALID_BINDING
El identificador de enlace no era válido.
RPC_S_WRONG_KIND_OF_BINDING
Este era el tipo incorrecto de enlace para la operación.
 
Nota Para obtener una lista de códigos de error válidos, vea Rpc Return Values.
 

Comentarios

La función RpcEpRegister agrega o reemplaza entradas en la base de datos de mapa de puntos de conexión del host local. Para una entrada de base de datos existente que coincida con la especificación de interfaz proporcionada, el identificador de enlace y el UUID de objeto, esta función reemplaza el punto de conexión de la entrada por el punto de conexión en el identificador de enlace proporcionado.

Un servidor puede usar RpcEpRegister y RpcEpRegisterNoReplace para registrar entradas en la base de datos del asignador de puntos de conexión. Antes de Windows 2000, había dos funciones disponibles para permitir que un servidor sobrescriba entradas obsoletas en la base de datos del asignador de puntos de conexión dejó de instancias de servidor anteriores que ya no se están ejecutando. La base de datos del asignador de puntos de conexión quita automáticamente las entradas registradas por una instancia de servidor en cuanto el servidor deja de funcionar. Sin embargo, los servidores no pueden reemplazar las entradas del asignador de puntos de conexión de otro servidor con fines de seguridad. Por lo tanto, RpcEpRegister y RpcEpRegisterNoReplace realizan en gran medida la misma funcionalidad.

Una aplicación de servidor llama a RpcEpRegister para registrar los puntos de conexión especificados mediante una llamada a cualquiera de las funciones siguientes:

Si el servidor también exporta a la base de datos name-service, el servidor llama a RpcEpRegister con los mismos valores IfSpec, BindingVector y UuidVector usados al llamar a la función RpcNsBindingExport .

Si se usa una secuencia de protocolo sin especificar un punto de conexión, la biblioteca en tiempo de ejecución rpc genera automáticamente un punto de conexión dinámico. En este caso, el servidor puede llamar a RpcServerInqBindings seguido de RpcEpRegister para que esté disponible para varios clientes. De lo contrario, el servidor iniciado automáticamente solo se conoce al cliente para el que se inició el servidor. Cada elemento agregado a la base de datos de mapa de puntos de conexión contiene lógicamente lo siguiente:

  • UUID de interfaz
  • Versión de interfaz (principal y secundaria)
  • Identificador de enlace
  • UUID de objeto (opcional)
  • Anotación (opcional)
RpcEpRegister crea un producto cruzado a partir de los parámetros IfSpec, BindingVector y UuidVector y agrega cada elemento del producto cruzado como un registro independiente en la base de datos de mapa de puntos de conexión.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado rpcdce.h (include Rpc.h)
Library Rpcrt4.lib
Archivo DLL Rpcrt4.dll

Consulte también

RpcBindingFromStringBinding

RpcEpRegisterNoReplace

RpcEpUnregister

RpcNsBindingExport

RpcServerInqBindings

RpcServerUseAllProtseqs

RpcServerUseAllProtseqsIf

RpcServerUseProtseq

RpcServerUseProtseqEp

RpcServerUseProtseqIf