Configurazione del Registro di sistema per le allocazioni delle porte e l'associazione selettiva

A partire da Windows 2000, è consigliabile usare un'utilità in Windows Resource Kit denominata Rpccfg.exe per impostare le associazioni. Per altre informazioni, consultare Windows Resource Kit per la versione appropriata del sistema operativo.

Per le versioni di Windows precedenti a Windows 2000, le chiavi del Registro di sistema nella tabella seguente specificano le impostazioni predefinite di sistema per l'allocazione delle porte dinamiche e per l'associazione alle schede di interfaccia di rete nei computer multihomed. È innanzitutto necessario creare queste chiavi e quindi specificare le impostazioni appropriate.

L'uso della funzione RpcServerUseProtseqEx influisce su queste impostazioni. Gli sviluppatori devono avere familiarità con le impostazioni del Registro di sistema descritte in questa sezione e la funzione RpcServerUseProtseqEx durante la gestione delle allocazioni delle porte. Un esempio con tre applicazioni ipotetiche segue la tabella seguente e illustra come queste impostazioni e la funzione RpcServerUseProtseqEx interagiscono.

Se manca una chiave o se contiene un valore non valido, l'intera configurazione viene contrassegnata come non valida e tutte le chiamate RpcServerUseProtseq* su ncacn_ip_tcp o ncadg_ip_udp avranno esito negativo.

Nota

Le porte allocate a un processo rimangono allocate fino a quando il processo non muore. Se tutte le porte disponibili sono in uso, la funzione restituisce RPC_S_OUT_OF_RESOURCES.

 

Chiave porta Tipo di dati Descrizione
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               Ports
REG_MULTI_SZ Specifica un set di intervalli di porte IP costituiti da tutte le porte disponibili da Internet o da tutte le porte non disponibili da Internet. Ogni stringa rappresenta una singola porta o un set inclusivo di porte ,ad esempio 1000-1050, 1984. Se le voci non rientrano nell'intervallo compreso tra 0 e 65535 o se una stringa non può essere interpretata, il tempo di esecuzione RPC considera l'intera configurazione come non valida.
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               PortsInternetAvailable
REG_SZ Y o N (senza distinzione tra maiuscole e minuscole). Se Y, le porte elencate nella chiave Porte sono tutte le porte disponibili su Internet nel computer. Se N, le porte elencate nella chiave Porte sono tutte quelle porte che non sono disponibili su Internet.
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               UseInternetPorts
REG_SZ Y o N (senza distinzione tra maiuscole e minuscole). Specifica i criteri predefiniti del sistema. Se Y, ai processi che usano il valore predefinito verranno assegnate le porte dal set di porte disponibili a Internet, come definito in precedenza. Se N, ai processi che usano il valore predefinito verranno assegnate le porte dal set di porte solo Intranet.
HKEY_LOCAL_MACHINE   System      CurrentControlSet         Services            Rpc               Linkage                  Bind
REG_MULTI_SZ Elenca i nomi dei dispositivi di tutte le schede di interfaccia di rete in cui eseguire l'associazione per impostazione predefinita, ad esempio \Device\AMDPCN1. Se la chiave non esiste, il server verrà associato a tutte le schede di interfaccia di rete. Se la chiave esiste, il server verrà associato alle schede di interfaccia di rete specificate nella chiave, a meno che il campo NICFlags non sia impostato su RPC_C_BIND_TO_ALL_NICS. Se la chiave ha un valore null (""), la configurazione verrà contrassegnata come non valida e tutte le chiamate a RpcServerUseProtseq* su ncacn_ip_tcp o ncadg_ip_udp avranno esito negativo.

 

Nella tabella seguente viene illustrato il modo in cui tre applicazioni di esempio sono interessate dalle impostazioni definite nella tabella precedente e come vengono interessate anche le impostazioni applicate tramite la funzione RpcServerUseProtseqEx .

In questo esempio vengono considerate tre applicazioni ipotetiche:

  • InternetApp: questa applicazione è destinata all'esposizione a Internet e ha specificato RPC_C_USE_INTERNET_PORT nel membro EndpointFlags della struttura RPC_POLICY passata alla funzione RpcServerUseProtseqEx .
  • LocalApp: questa applicazione non è destinata all'esposizione a Internet e ha specificato RPC_C_USE_INTRANET_PORT nel membro EndpointFlags della struttura RPC_POLICY passata alla funzione RpcServerUseProtseqEx .
  • DefaultApp: questa applicazione specifica zero nel membro EndpointFlags della struttura RPC_POLICY passata alla funzione RpcServerUseProtseqEx .

La tabella seguente illustra l'impatto di queste impostazioni in base ai valori specificati nelle voci del Registro di sistema illustrate nella tabella precedente. Per considerazioni sulla formattazione, vengono assegnati i codici seguenti:

PIA = PortsInternetAvailable Key value

UIP = Valore chiave UseInternetPorts

Il valore della chiave Ports, per questo esempio, è 5000-5100 per ogni voce.

Applicazione PIA UIP Risultato
InternetApp S S Usa porte comprese tra 5000 e 5100
LocalApp S S Usa una porta esterna all'intervallo 5000-5100
DefaultApp S S Usa porte comprese tra 5000 e 5100
InternetApp S N Usa porte comprese tra 5000 e 5100
LocalApp S N Usa una porta esterna all'intervallo 5000-5100
DefaultApp S N Usa una porta esterna all'intervallo 5000-5100
InternetApp N S Usa una porta esterna all'intervallo 5000-5100
LocalApp N S Usa porte comprese tra 5000 e 5100
DefaultApp N S Usa una porta esterna all'intervallo 5000-5100
InternetApp N N Usa una porta esterna all'intervallo 5000-5100
LocalApp N N Usa porte comprese tra 5000 e 5100
DefaultApp N N Usa porte comprese tra 5000 e 5100

 

RPC_POLICY

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqIfEx

Ncacn_ip_tcp

ncadg_ip_udp