Condividi tramite


struttura MPR_INTERFACE_3 (mprapi.h)

La struttura MPR_INTERFACE_3 contiene dati per un'interfaccia di chiamata a richiesta del router.

Sintassi

typedef struct _MPR_INTERFACE_3 {
  WCHAR                   wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1];
  HANDLE                  hInterface;
  BOOL                    fEnabled;
  ROUTER_INTERFACE_TYPE   dwIfType;
  ROUTER_CONNECTION_STATE dwConnectionState;
  DWORD                   fUnReachabilityReasons;
  DWORD                   dwLastError;
  DWORD                   dwfOptions;
  WCHAR                   szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
  PWCHAR                  szAlternates;
  DWORD                   ipaddr;
  DWORD                   ipaddrDns;
  DWORD                   ipaddrDnsAlt;
  DWORD                   ipaddrWins;
  DWORD                   ipaddrWinsAlt;
  DWORD                   dwfNetProtocols;
  WCHAR                   szDeviceType[MPR_MaxDeviceType + 1];
  WCHAR                   szDeviceName[MPR_MaxDeviceName + 1];
  WCHAR                   szX25PadType[MPR_MaxPadType + 1];
  WCHAR                   szX25Address[MPR_MaxX25Address + 1];
  WCHAR                   szX25Facilities[MPR_MaxFacilities + 1];
  WCHAR                   szX25UserData[MPR_MaxUserData + 1];
  DWORD                   dwChannels;
  DWORD                   dwSubEntries;
  DWORD                   dwDialMode;
  DWORD                   dwDialExtraPercent;
  DWORD                   dwDialExtraSampleSeconds;
  DWORD                   dwHangUpExtraPercent;
  DWORD                   dwHangUpExtraSampleSeconds;
  DWORD                   dwIdleDisconnectSeconds;
  DWORD                   dwType;
  DWORD                   dwEncryptionType;
  DWORD                   dwCustomAuthKey;
  DWORD                   dwCustomAuthDataSize;
  LPBYTE                  lpbCustomAuthData;
  GUID                    guidId;
  DWORD                   dwVpnStrategy;
  ULONG                   AddressCount;
  IN6_ADDR                ipv6addrDns;
  IN6_ADDR                ipv6addrDnsAlt;
  IN6_ADDR                *ipv6addr;
} MPR_INTERFACE_3, *PMPR_INTERFACE_3;

Members

wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1]

Puntatore a una stringa Unicode contenente il nome dell'interfaccia.

hInterface

Handle per l'interfaccia.

fEnabled

Valore che specifica se l'interfaccia è abilitata. Questo valore è TRUE se l'interfaccia è abilitata, FALSE se l'interfaccia è disabilitata in modo amministrativo.

dwIfType

Valore che identifica il tipo di interfaccia.

dwConnectionState

Valore che descrive lo stato corrente dell'interfaccia, ad esempio connesso, disconnesso o non raggiungibile. Per altre informazioni e un elenco dei possibili stati, vedere ROUTER_CONNECTION_STATE.

fUnReachabilityReasons

Valore che descrive il motivo per cui l'interfaccia non è raggiungibile. Per altre informazioni e un elenco dei valori possibili, vedere Motivi di mancata accessibilità.

dwLastError

Valore che contiene un valore diverso da zero se l'interfaccia non riesce a connettersi.

dwfOptions

Valore che specifica i flag di bit utilizzati per impostare le opzioni di connessione. È possibile impostare uno dei flag elencati nella tabella seguente.

Flag Significato
MPRIO_SpecificIpAddr
Se questo flag è impostato, RRAS tenta di usare l'indirizzo IP specificato da ipaddr come indirizzo IP per la connessione remota. Se questo flag non è impostato, il valore del membro ipaddr viene ignorato.

L'impostazione del flag MPRIO_SpecificIpAddr corrisponde alla selezione dell'impostazione Specifica un indirizzo IP nella finestra di dialogo Impostazioni TCP/IP. La cancellazione del flag di MPRIO_SpecificIpAddr corrisponde alla selezione dell'impostazione Indirizzo IP assegnato dal server nella finestra di dialogo Impostazioni TCP/IP .

Attualmente, un indirizzo IP impostato nelle proprietà di immissione della rubrica telefonica o recuperato da un server esegue l'override dell'indirizzo IP impostato nel pannello di controllo di rete.

MPRIO_SpecificNameServers
Se questo flag è impostato, RRAS utilizza i membri ipaddrDns, ipaddrDnsAlt, ipaddrWins e ipaddrWinsAlt per specificare gli indirizzi del server dei nomi per la connessione remota. Se questo flag non è impostato, RRAS ignora questi membri.

L'impostazione del flag MPRIO_SpecificNameServers corrisponde alla selezione dell'impostazione Specifica indirizzi server dei nomi nella finestra di dialogo Impostazioni TCP/IP. La cancellazione del flag di MPRIO_SpecificNameServers corrisponde alla selezione dell'impostazione Indirizzi server nome assegnato server nella finestra di dialogo Impostazioni TCP/IP .

MPRIO_IpHeaderCompression
Se questo flag è impostato, RRAS negozia l'uso della compressione dell'intestazione IP nelle connessioni PPP. La compressione dell'intestazione IP può migliorare significativamente le prestazioni.

Se questo flag non è impostato, la compressione dell'intestazione IP non viene negoziata.

Questo flag corrisponde alla casella di controllo Usa compressione intestazione IP nella finestra di dialogo Impostazioni TCP/IP . Il flag deve essere cancellato solo quando ci si connette a un server che non negozia correttamente la compressione dell'intestazione IP.

MPRIO_RemoteDefaultGateway
Se questo flag è impostato, la route predefinita per i pacchetti IP è tramite la scheda di connessione remota quando la connessione è attiva. Se questo flag viene cancellato, la route predefinita non viene modificata.

Questo flag corrisponde alla casella di controllo Usa gateway predefinito nella finestra di dialogo Impostazioni TCP/IP .

MPRIO_DisableLcpExtensions
Se questo flag è impostato, RRAS disabilita le estensioni LCP PPP definite in RFC 1570. La disabilitazione delle estensioni LCP PP può essere necessaria per connettersi a determinate implementazioni DI PPP meno recenti, ma interferisce con funzionalità come il callback del server. Non impostare questo flag a meno che non sia necessario specificamente.
MPRIO_SwCompression
Se questo flag è impostato, la compressione software viene negoziata sul collegamento. L'impostazione di questo flag fa sì che il driver PPP tenti di negoziare il protocollo CCP (Compression Control Protocol) con il server. Questo flag deve essere impostato per impostazione predefinita, ma la cancellazione può ridurre il periodo di negoziazione se il server non supporta un protocollo di compressione compatibile.
MPRIO_RequireEncryptedPw
Se questo flag è impostato, è possibile usare solo schemi password sicuri per autenticare il client con il server. Ciò impedisce al driver PPP di usare il protocollo di autenticazione PAP plain-text per autenticare il client. Sono tuttavia supportati i protocolli di autenticazione MS-CHAP, MD5-CHAP e SPAP. Per una maggiore sicurezza, impostare questo flag. Per migliorare l'interoperabilità, cancellare questo flag.

Questo flag corrisponde alla casella di controllo Richiedi password crittografata nella finestra di dialogo Sicurezza . Per altre informazioni, vedere MPRIO_RequireMsEncryptedPw.

MPRIO_RequireMsEncryptedPw
Se questo flag è impostato, è possibile usare solo gli schemi di password sicuri Microsoft per autenticare il client con il server. Ciò impedisce al driver PPP di usare il protocollo di autenticazione PAP plain-text, MD5-CHAP o SPAP. Per una maggiore sicurezza, impostare questo flag. Per migliorare l'interoperabilità, cancellare questo flag. Questo flag ha la precedenza su MPRIO_RequireEncryptedPw.

Questo flag corrisponde alla casella di controllo Richiedi password crittografata microsoft nella finestra di dialogo Sicurezza . Per altre informazioni, vedere MPRIO_RequireDataEncryption.

MPRIO_RequireDataEncryption
Se questo flag è impostato, la crittografia dei dati deve essere negoziata correttamente oppure la connessione deve essere eliminata. Questo flag viene ignorato a meno che non sia impostato anche MPRIO_RequireMsEncryptedPw .

Questo flag corrisponde alla casella di controllo Richiedi crittografia dati nella finestra di dialogo Sicurezza .

MPRIO_NetworkLogon
Questo flag è riservato per uso futuro.
MPRIO_UseLogonCredentials
Se questo flag è impostato, RRAS usa il nome utente, la password e il dominio dell'utente attualmente connesso durante la composizione di questa voce. Questo flag viene ignorato a meno che non sia impostato anche MPRIO_RequireMsEncryptedPw .

Questa impostazione viene ignorata dalla funzione RasDial in cui la specifica di stringhe vuote per i membri szUserName e szPassword della struttura RASDIALPARAMS fornisce lo stesso risultato.

Questo flag corrisponde alla casella di controllo Usa nome utente corrente e password nella finestra di dialogo Sicurezza .

MPRIO_PromoteAlternates
Questo flag ha effetto quando i numeri di telefono alternativi vengono definiti dal membro szAlternates . Se questo flag è impostato, un numero di telefono alternativo che si connette correttamente diventa il numero di telefono primario e il numero di telefono primario corrente viene spostato nell'elenco alternativo.

Questo flag corrisponde alla casella di controllo nella finestra di dialogo Numeri alternativi .

MPRIO_SecureLocalFiles
Se questo flag è impostato, RRAS verifica la presenza di associazioni di file system remoti e stampanti remote esistenti prima di stabilire una connessione con questa voce. In genere, questo flag viene impostato nelle voci della rubrica telefonica per le reti pubbliche per ricordare agli utenti di interrompere le connessioni alla rete privata prima di connettersi a una rete pubblica.
MPRIO_RequireEAP
Se questo flag è impostato, LAP (Extensible Authentication Protocol) deve essere supportato per l'autenticazione.
MPRIO_RequirePAP
Se questo flag è impostato, il protocollo di autenticazione password deve essere supportato per l'autenticazione.
MPRIO_RequireSPAP
Se questo flag è impostato, il protocollo SPAP (Password Authentication Protocol) di Shiva deve essere supportato per l'autenticazione.
MPRIO_SharedPhoneNumbers
Se questo flag è impostato, i numeri di telefono vengono condivisi.
MPRIO_RequireCHAP
Se questo flag è impostato, per l'autenticazione deve essere supportato il protocollo di autenticazione handshake challenge.
MPRIO_RequireMsCHAP
Se questo flag è impostato, microsoft Challenge Handshake Authentication Protocol deve essere supportato per l'autenticazione.
MPRIO_RequireMsCHAP2
Se questo flag è impostato, per l'autenticazione deve essere supportata la versione 2 di Microsoft Challenge Handshake Authentication Protocol.

szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]

Valore che specifica una stringa con terminazione Null contenente un numero di telefono o un indirizzo IPv6.

szAlternates

Puntatore a un elenco di stringhe Unicode con terminazione Null consecutiva. L'ultima stringa viene terminata da due caratteri Null consecutivi. Le stringhe sono numeri di telefono alternativi che il router chiama, nell'ordine elencato, se il numero primario non riesce a connettersi. Per altre informazioni, vedere szLocalPhoneNumber.

ipaddr

Valore che specifica l'indirizzo IP da usare mentre questa connessione è attiva. Questo membro viene ignorato a meno che dwfOptions non specifichi il flag di MPRIO_SpecificIpAddr .

ipaddrDns

Valore che specifica l'indirizzo IP del server DNS da usare mentre questa connessione è attiva. Questo membro viene ignorato a meno che dwfOptions non specifichi il flag di MPRIO_SpecificNameServers .

ipaddrDnsAlt

Valore che specifica l'indirizzo IP di un server DNS secondario o di backup da usare mentre questa connessione è attiva. Questo membro viene ignorato a meno che dwfOptions non specifichi il flag di MPRIO_SpecificNameServers .

ipaddrWins

Valore che specifica l'indirizzo IP del server WINS da usare mentre questa connessione è attiva. Questo membro viene ignorato a meno che dwfOptions non specifichi il flag di MPRIO_SpecificNameServers .

ipaddrWinsAlt

Valore che specifica l'indirizzo IP di un server WINS secondario da usare mentre questa connessione è attiva. Questo membro viene ignorato a meno che dwfOptions non specifichi il flag di MPRIO_SpecificNameServers .

dwfNetProtocols

Valore che specifica i protocolli di rete da negoziare. Questo membro può essere una combinazione dei flag seguenti.

Flag Significato
MPRNP_Ipx
Negoziare il protocollo IPX.
MPRNP_Ip
Negoziare il protocollo TCP/IP.
 

Windows a 64 bit: Il flag di MPRNP_Ipx non è supportato

szDeviceType[MPR_MaxDeviceType + 1]

Valore che specifica una stringa con terminazione null che indica il tipo di dispositivo RRAS a cui fa riferimento szDeviceName. Questo membro può essere una delle costanti stringa seguenti.

string Significato
MPRDT_Modem
Modem accessibile tramite una porta COM.
MPRDT_Isdn
Scheda ISDN con il driver NDISWAN corrispondente installato.
MPRDT_X25
Scheda X.25 con il driver NDISWAN corrispondente installato.
MPRDT_Vpn
Connessione VPN (Virtual Private Network).
MPRDT_Pad
Assembler/disassembler dei pacchetti.
MPRDT_Generic
Generico.
MPRDT_Serial
Connessione seriale diretta tramite una porta seriale.
MPRDT_FrameRelay
Inoltro fotogrammi.
MPRDT_Atm
Modalità di trasferimento asincrona.
MPRDT_Sonet
Sonet.
MPRDT_SW56
Accesso a 56K.
MPRDT_Irda
Dispositivo conforme a IrDA (Infrared Data Association).
MPRDT_Parallel
Connessione parallela diretta tramite una porta parallela.

szDeviceName[MPR_MaxDeviceName + 1]

Contiene una stringa con terminazione null contenente il nome di un dispositivo TAPI da usare con questa voce della rubrica telefonica, ad esempio "Fabrikam Inc 28800 External". Per enumerare tutti i dispositivi compatibili con RAS, usare la funzione RasEnumDevices .

szX25PadType[MPR_MaxPadType + 1]

Tipo di dati contenente una stringa con terminazione null che identifica il tipo PAD X.25. Impostare questo membro su una stringa vuota ("") a meno che la voce non debba comporre usando un PAD X.25.

Windows 2000 e Windows NT: La stringa szX25PadType viene mappata a un nome di sezione in PAD.INF.

szX25Address[MPR_MaxX25Address + 1]

Contiene una stringa con terminazione null che identifica l'indirizzo X.25 a cui connettersi. Impostare questo membro su una stringa vuota ("") a meno che la voce non debba comporre usando un dispositivo X.25 PAD o X.25 nativo.

szX25Facilities[MPR_MaxFacilities + 1]

Contiene una stringa con terminazione null che specifica le funzionalità da richiedere dall'host X.25 in fase di connessione. Questo membro viene ignorato se szX25Address è una stringa vuota ("").

szX25UserData[MPR_MaxUserData + 1]

Contiene una stringa con terminazione null che specifica i dati di connessione aggiuntivi forniti all'host X.25 in fase di connessione. Questo membro viene ignorato se szX25Address è una stringa vuota ("").

dwChannels

Riservato per utilizzi futuri.

dwSubEntries

Valore che specifica il numero di sottoezioni multilink associate a questa voce. Quando si chiama RasSetEntryProperties, impostare questo membro su zero. Per aggiungere voci secondarie a una voce di rubrica telefonica, usare la funzione RasSetSubEntryProperties .

dwDialMode

Indica se RRAS deve comporre tutte le sottoinsiezioni multilink della voce quando la voce è prima connessa. Questo membro può essere uno dei valori seguenti.

Valore Significato
MPRDM_DialAll
Comporre inizialmente tutte le sottoinsieme.
MPRDM_DialAsNeeded
Modificare il numero di voci secondarie in base alla larghezza di banda necessaria. RRAS usa i membri dwDialExtraPercent, dwDialExtraSampleSeconds, dwDialHangUpTraPercent e dwHangUpExtraSampleSeconds per determinare quando comporre o disconnettere una sottoentria.

dwDialExtraPercent

Valore che specifica la percentuale della larghezza di banda totale disponibile dalle voci secondarie attualmente connesse. RRAS chiama un sottoentrio aggiuntivo quando la larghezza di banda totale usata supera dwDialExtraPercent % della larghezza di banda disponibile per almeno dwDialExtraSampleSeconds secondi.

Questo membro viene ignorato a meno che il membro dwDialMode non specifichi il flag di MPRDM_DialAsNeeded .

dwDialExtraSampleSeconds

Valore che specifica il tempo, in secondi, per il quale l'utilizzo corrente della larghezza di banda deve superare la soglia specificata da dwDialExtraPercent prima che RRAS componi un sottoentrio aggiuntivo.

Questo membro viene ignorato a meno che il membro dwDialMode non specifichi il flag di MPRDM_DialAsNeeded .

dwHangUpExtraPercent

Valore che specifica la percentuale della larghezza di banda totale disponibile dalle voci secondarie attualmente connesse. RRAS termina (blocca) una connessione secondaria esistente quando la larghezza di banda totale usata è minore di dwHangUpExtraPercent della larghezza di banda disponibile per almeno dwHangUpExtraSampleSeconds .

Questo membro viene ignorato a meno che il membro dwDialMode non specifichi il flag di MPRDM_DialAsNeeded .

dwHangUpExtraSampleSeconds

Valore che specifica il tempo, in secondi, per il quale l'utilizzo corrente della larghezza di banda deve essere minore della soglia specificata da dwHangUpExtraPercent prima che RRAS termina una connessione secondaria esistente.

Questo membro viene ignorato a meno che il membro dwDialMode non specifichi il flag di MPRDM_DialAsNeeded .

dwIdleDisconnectSeconds

Valore che specifica l'ora, in secondi, dopo la quale viene terminata una connessione inattiva. A meno che il timeout di inattività non sia disabilitato, l'intera connessione viene terminata se la connessione è inattiva per l'intervallo specificato. Questo membro può specificare un valore di timeout o uno dei valori seguenti.

Valore Significato
MPRIDS_Disabled
Non è disponibile alcun timeout inattiva per questa connessione.
MPRIDS_UseGlobalValue
Usare il valore di preferenza utente come impostazione predefinita.

dwType

Valore che specifica il tipo di voce della rubrica telefonica. Questo membro può essere uno dei tipi seguenti.

Type Significato
MPRET_Phone
Linea telefonica, ad esempio modem, ISDN o X.25.
MPRET_Vpn
Rete privata virtuale.
MPRET_Direct
Connessione seriale diretta o parallela.

dwEncryptionType

Valore che specifica il tipo di crittografia da usare per Microsoft Point-to-Point Encryption (MPPE) con la connessione. Questo membro può essere uno dei valori seguenti.

Valore Significato
MPR_ET_None
Non usare la crittografia.
MPR_ET_Require
Usare la crittografia.
MPR_ET_RequireMax
Usare la crittografia massima della forza.
MPR_ET_Optional
Se possibile, usare la crittografia.
 

Il valore dwEncryptionType non influisce sul modo in cui le password vengono crittografate. Se le password vengono crittografate e le modalità di crittografia delle password sono determinate dal protocollo di autenticazione, ad esempio PAP, MS-CHAP o EAP.

dwCustomAuthKey

Valore che specifica la chiave di autenticazione da fornire a un fornitore di Extensible Authentication Protocol (EAP).

dwCustomAuthDataSize

Valore che specifica le dimensioni dei dati a cui punta il membro lpbCustomAuthData .

lpbCustomAuthData

Puntatore ai dati di autenticazione da usare con EAP.

guidId

Identificatore univoco globale (GUID) che rappresenta questa voce della rubrica telefonica. Questo membro è di sola lettura.

dwVpnStrategy

Strategia VPN da usare per la composizione di una connessione VPN. Questo membro può avere uno dei valori seguenti.

Valore Significato
MPR_VS_Default
RRAS chiama prima PPTP. Se PPTP ha esito negativo, viene tentato L2TP. Il protocollo che ha esito positivo viene provato prima nella composizione successiva per questa voce.
MPR_VS_PptpOnly
Solo PPTP.
MPR_VS_PptpFirst
RAS chiama sempre PPTP prima, L2TP secondo.
MPR_VS_L2tpOnly
I quadranti RAS sono solo L2TP.
MPR_VS_L2tpFirst
RAS dials L2TP first, PPTP second.

AddressCount

Non usato.

ipv6addrDns

Valore che specifica l'indirizzo IP del server DNS da usare mentre questa connessione è attiva.

ipv6addrDnsAlt

Valore che specifica l'indirizzo IP di un server DNS secondario o di backup da usare mentre questa connessione è attiva.

ipv6addr

Non usato.

Commenti

La struttura MPR_INTERFACE_3 ha un numero di membri simili ai membri della struttura RASENTRY .

I membri seguenti della struttura RASENTRY non hanno alcuna controparte in MPR_INTERFACE_3:

  • dwCountryID
  • dwCountryCode
  • szAreaCode
  • dwFramingProtocol
Windows a 64 bit: Non supporta il protocollo IPX.

Requisiti

   
Client minimo supportato Nessuno supportato
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione mprapi.h

Vedi anche

MPR_INTERFACE_0

MPR_INTERFACE_1

MPR_INTERFACE_2

MprAdminInterfaceGetInfo

MprAdminInterfaceSetInfo