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

à compter de Windows 2000, vous devez utiliser un utilitaire du Kit de ressources Windows appelé Rpccfg.exe pour définir des liaisons. pour plus d’informations, consultez le Kit de ressources Windows pour 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 port dynamique et pour la liaison aux cartes réseau sur les ordinateurs multirésidents. 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 être familiarisés avec les paramètres de Registre expliqués dans cette section et la fonction RpcServerUseProtseqEx lors de la gestion des allocations de port. Un exemple avec trois applications hypothétiques suit le tableau ci-dessous et montre comment ces paramètres et la fonction RpcServerUseProtseqEx interagissent.

Si une clé est manquante ou si elle contient une valeur non valide, la configuration entière 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 supprimé. Si tous les ports disponibles sont en cours d’utilisation, la fonction retourne RPC _ S _ _ sur _ ressources.

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 qui ne sont pas disponibles sur Internet. Chaque chaîne représente un port unique ou un ensemble de ports inclusifs (par exemple, 1000-1050, 1984). Si des entrées sont en dehors de la plage comprise entre 0 et 65535, ou si une chaîne ne peut pas être interprétée, le temps d’exécution RPC traitera la configuration entière comme non valide.
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               PortsInternetAvailable
REG_SZ O ou N (ne respecte pas la casse). Si Y, les ports répertoriés dans la clé ports sont tous les ports disponibles sur Internet sur cet ordinateur. Si 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 O ou N (ne respecte pas la casse). Spécifie la stratégie par défaut du système. Si Y, les processus utilisant la valeur par défaut sont des ports affectés à partir de l’ensemble de ports disponibles sur Internet, comme défini ci-dessus. Si N, les processus utilisant la valeur par défaut seront affectés aux 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 de toutes les cartes réseau sur lesquelles effectuer la liaison 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 crée une liaison avec les cartes réseau spécifiées dans la clé, à moins que le champ NICFlags ne soit 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 illustre 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é le _ _ _ port Internet RPC utilisé _ dans le membre EndpointFlags de la structure de la _ stratégie RPC passée à la fonction RpcServerUseProtseqEx .
  • LocalApp : cette application n’est pas destinée à être exposée à Internet, et a spécifié le _ _ _ port intranet RPC use _ dans le membre EndpointFlags de la structure de la _ stratégie RPC passée à la fonction RpcServerUseProtseqEx .
  • DefaultApp : cette application spécifie zéro dans le membre EndpointFlags de la structure de _ stratégie RPC passée à la fonction RpcServerUseProtseqEx .

Le tableau suivant décrit l’impact de ces paramètres sur les 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 affectés :

Assembly PIA = valeur de clé PortsInternetAvailable

UIP = valeur de clé de UseInternetPorts

La valeur de la clé ports, par souci de cet exemple, est 5000-5100 pour chaque entrée.

Application PIA UIP Résultat
Internetapp O O Utilise des ports entre 5000 et 5100
LocalApp O O Utilise un port en dehors de la plage 5000-5100
DefaultApp O O Utilise des ports entre 5000 et 5100
Internetapp O N Utilise des ports 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 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 entre 5000 et 5100
DefaultApp N N Utilise des ports entre 5000 et 5100

_stratégie RPC

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqIfEx

_TCP IP _ ncacn

_UDP IP _ ncadg