Compartir a través de


Configuración del Registro para asignaciones de puertos y enlace selectivo

A partir de Windows 2000, se debe usar una utilidad en el Kit de recursos de Windows denominado Rpccfg.exe para establecer enlaces. Para obtener más información, consulte el Kit de recursos de Windows para obtener la versión adecuada del sistema operativo.

En el caso de las versiones de windows anteriores a Windows 2000, las claves del Registro de la tabla siguiente especifican los valores predeterminados del sistema para la asignación dinámica de puertos y para el enlace a NIC en equipos de host múltiple. Primero debe crear estas claves y, a continuación, especificar la configuración adecuada.

El uso de la función RpcServerUseProtseqEx afecta a esta configuración. Los desarrolladores deben estar familiarizados con la configuración del Registro que se explica en esta sección y la función RpcServerUseProtseqEx al administrar las asignaciones de puertos. Un ejemplo con tres aplicaciones hipotéticas sigue la tabla siguiente y muestra cómo esta configuración y la función RpcServerUseProtseqEx interoperan.

Si falta una clave o si contiene un valor no válido, toda la configuración se marca como no válida y todas las llamadas RpcServerUseProtseq* a través de ncacn_ip_tcp o ncadg_ip_udp producirán un error.

Nota

Los puertos asignados a un proceso permanecen asignados hasta que ese proceso muere. Si todos los puertos disponibles están en uso, la función devuelve RPC_S_OUT_OF_RESOURCES.

 

Clave de puerto Tipo de datos Descripción
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               Ports
REG_MULTI_SZ Especifica un conjunto de intervalos de puertos IP que constan de todos los puertos disponibles desde Internet o de todos los puertos que no están disponibles desde Internet. Cada cadena representa un único puerto o un conjunto inclusivo de puertos (por ejemplo, 1000-1050, 1984). Si hay entradas fuera del intervalo entre 0 y 65535, o si alguna cadena no se puede interpretar, el tiempo de ejecución de RPC tratará toda la configuración como no válida.
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               PortsInternetAvailable
REG_SZ Y o N (no distingue mayúsculas de minúsculas). Si es Y, los puertos enumerados en la clave Puertos son todos los puertos disponibles en Internet en ese equipo. Si es N, los puertos enumerados en la clave Puertos son todos aquellos puertos que no están disponibles en Internet.
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               UseInternetPorts
REG_SZ Y o N (no distingue mayúsculas de minúsculas). Especifica la directiva predeterminada del sistema. Si es Y, los procesos que usan el valor predeterminado se asignarán a los puertos del conjunto de puertos disponibles para Internet, como se ha definido anteriormente. Si es N, a los procesos que usan el valor predeterminado se les asignarán puertos desde el conjunto de puertos solo de intranet.
HKEY_LOCAL_MACHINE   System      CurrentControlSet         Services            Rpc               Linkage                  Bind
REG_MULTI_SZ Enumera los nombres de dispositivo de todas las NIC en las que se va a enlazar de forma predeterminada (por ejemplo, \Device\AMDPCN1). Si la clave no existe, el servidor se enlazará a todas las NIC. Si la clave existe, el servidor se enlazará a las NIC especificadas en la clave, a menos que el campo NICFlags esté establecido en RPC_C_BIND_TO_ALL_NICS. Si la clave tiene un valor null (""), la configuración se marcará como no válida y todas las llamadas a RpcServerUseProtseq* a través de ncacn_ip_tcp o ncadg_ip_udp producirán un error.

 

En la tabla siguiente se muestra cómo se ven afectadas tres aplicaciones de ejemplo por la configuración definida en la tabla anterior y cómo la configuración aplicada mediante la función RpcServerUseProtseqEx también se ve afectada.

En este ejemplo, se consideran tres aplicaciones hipotéticas:

  • InternetApp: esta aplicación está pensada para la exposición a Internet y ha especificado RPC_C_USE_INTERNET_PORT en el miembro EndpointFlags de la estructura de RPC_POLICY pasada a la función RpcServerUseProtseqEx .
  • LocalApp: esta aplicación no está pensada para la exposición a Internet y ha especificado RPC_C_USE_INTRANET_PORT en el miembro EndpointFlags de la estructura de RPC_POLICY pasada a la función RpcServerUseProtseqEx .
  • DefaultApp: esta aplicación especifica cero en el miembro EndpointFlags de la estructura de RPC_POLICY pasada a la función RpcServerUseProtseqEx .

En la tabla siguiente se explica el impacto que tienen estas configuraciones en función de los valores especificados en las entradas del Registro que se explican en la tabla anterior. Para tener en cuenta las consideraciones de formato, se asignan los códigos siguientes:

PIA = Valor de clave PortsInternetAvailable

UIP = Valor de clave UseInternetPorts

El valor de la clave Puertos, por motivos de este ejemplo, es 5000-5100 para cada entrada.

Application PIA UIP Resultado
InternetApp Y Y Usa puertos entre 5000 y 5100
LocalApp Y Y Usa un puerto fuera del intervalo de 5000 a 5100
DefaultApp Y Y Usa puertos entre 5000 y 5100
InternetApp Y N Usa puertos entre 5000 y 5100
LocalApp Y N Usa un puerto fuera del intervalo de 5000 a 5100
DefaultApp Y N Usa un puerto fuera del intervalo de 5000 a 5100
InternetApp N Y Usa un puerto fuera del intervalo de 5000 a 5100
LocalApp N Y Usa puertos entre 5000 y 5100
DefaultApp N Y Usa un puerto fuera del intervalo de 5000 a 5100
InternetApp N N Usa un puerto fuera del intervalo de 5000 a 5100
LocalApp N N Usa puertos entre 5000 y 5100
DefaultApp N N Usa puertos entre 5000 y 5100

 

RPC_POLICY

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqIfEx

ncacn_ip_tcp

ncadg_ip_udp