Configuration du Registre pour les allocations de ports et la liaison sélective

À compter de Windows 2000, un utilitaire du Kit de ressources Windows appelé Rpccfg.exe doit être utilisé pour définir des liaisons. Pour plus d’informations, consultez le Kit de ressources Windows pour connaître la version appropriée du système d’exploitation.

Pour les versions de Windows antérieures à Windows 2000, les clés de Registre du tableau suivant spécifient les valeurs système par défaut pour l’allocation de ports dynamiques et la liaison aux cartes réseau sur les ordinateurs multirésaisonnés. Vous devez d’abord créer ces clés, puis spécifier les paramètres appropriés.

L’utilisation de la fonction RpcServerUseProtseqEx affecte ces paramètres. Les développeurs doivent connaître les paramètres de Registre expliqués dans cette section et la fonction RpcServerUseProtseqEx lors de la gestion des allocations de ports. Un exemple avec trois applications hypothétiques suit le tableau ci-dessous et illustre comment ces paramètres et la fonction RpcServerUseProtseqEx interagissent.

Si une clé est manquante ou si elle contient une valeur non valide, toute la configuration est marquée comme non valide et tous les appels RpcServerUseProtseq* sur ncacn_ip_tcp ou ncadg_ip_udp échouent.

Notes

Les ports alloués à un processus restent alloués jusqu’à ce que ce processus soit arrêté. Si tous les ports disponibles sont utilisés, la fonction retourne RPC_S_OUT_OF_RESOURCES.

 

Clé de port Type de données Description
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               Ports
REG_MULTI_SZ Spécifie un ensemble de plages de ports IP comprenant tous les ports disponibles à partir d’Internet ou tous les ports non disponibles à partir d’Internet. Chaque chaîne représente un port unique ou un ensemble inclusif de ports (par exemple, 1000-1050, 1984). Si des entrées se trouvent en dehors de la plage 0 à 65535, ou si une chaîne ne peut pas être interprétée, l’exécution de RPC traitera l’ensemble de la configuration comme non valide.
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               PortsInternetAvailable
REG_SZ Y ou N (ne respectant pas la casse). Si la valeur est Y, les ports répertoriés dans la clé Ports sont tous les ports disponibles sur Internet sur cet ordinateur. Si la valeur est N, les ports répertoriés dans la clé Ports sont tous les ports qui ne sont pas disponibles sur Internet.
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               UseInternetPorts
REG_SZ Y ou N (ne respectant pas la casse). Spécifie la stratégie par défaut du système. Si la valeur est Y, les processus qui utilisent la valeur par défaut se voient attribuer des ports à partir de l’ensemble de ports disponibles sur Internet, comme défini ci-dessus. Si N, les processus utilisant la valeur par défaut se voient attribuer des ports à partir de l’ensemble de ports intranet uniquement.
HKEY_LOCAL_MACHINE   System      CurrentControlSet         Services            Rpc               Linkage                  Bind
REG_MULTI_SZ Répertorie les noms d’appareils de toutes les cartes réseau sur lesquelles la liaison doit être effectuée par défaut (par exemple, \Device\AMDPCN1). Si la clé n’existe pas, le serveur est lié à toutes les cartes réseau. Si la clé existe, le serveur est lié aux cartes réseau spécifiées dans la clé, sauf si le champ NICFlags est défini sur RPC_C_BIND_TO_ALL_NICS. Si la clé a une valeur null (« »), la configuration est marquée comme non valide et tous les appels à RpcServerUseProtseq* sur ncacn_ip_tcp ou ncadg_ip_udp échouent.

 

Le tableau suivant montre comment trois exemples d’applications sont affectés par les paramètres définis dans le tableau précédent et comment les paramètres appliqués à l’aide de la fonction RpcServerUseProtseqEx sont également affectés.

Dans cet exemple, trois applications hypothétiques sont prises en compte :

  • InternetApp : cette application est destinée à être exposée à Internet et a spécifié RPC_C_USE_INTERNET_PORT dans le membre EndpointFlags de la structure RPC_POLICY passée à la fonction RpcServerUseProtseqEx .
  • LocalApp : cette application n’est pas destinée à être exposée à Internet et a spécifié RPC_C_USE_INTRANET_PORT dans le membre EndpointFlags de la structure RPC_POLICY passée à la fonction RpcServerUseProtseqEx .
  • DefaultApp : cette application spécifie zéro dans le membre EndpointFlags de la structure RPC_POLICY passée à la fonction RpcServerUseProtseqEx .

Le tableau suivant explique l’impact de ces paramètres en fonction des valeurs spécifiées dans les entrées de Registre expliquées dans le tableau précédent. Pour les considérations relatives à la mise en forme, les codes suivants sont attribués :

PIA = Valeur de clé PortsInternetAvailable

UIP = Valeur de clé UseInternetPorts

La valeur de la clé ports, pour l’utilisation de cet exemple, est de 5 000 à 5100 pour chaque entrée.

Application PIA UIP Résultats
InternetApp O O Utilise des ports compris entre 5000 et 5100
LocalApp O O Utilise un port en dehors de la plage 5000-5100
DefaultApp O O Utilise des ports compris entre 5000 et 5100
InternetApp O N Utilise des ports compris entre 5000 et 5100
LocalApp O N Utilise un port en dehors de la plage 5000-5100
DefaultApp O N Utilise un port en dehors de la plage 5000-5100
InternetApp N O Utilise un port en dehors de la plage 5000-5100
LocalApp N O Utilise des ports compris entre 5000 et 5100
DefaultApp N O Utilise un port en dehors de la plage 5000-5100
InternetApp N N Utilise un port en dehors de la plage 5000-5100
LocalApp N N Utilise des ports compris entre 5000 et 5100
DefaultApp N N Utilise des ports compris entre 5000 et 5100

 

RPC_POLICY

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqIfEx

Ncacn_ip_tcp

ncadg_ip_udp