Compartilhar via


estrutura MPR_INTERFACE_3 (mprapi.h)

A estrutura MPR_INTERFACE_3 contém dados para uma interface de discagem de demanda do roteador.

Sintaxe

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;

Membros

wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1]

Um ponteiro para uma cadeia de caracteres Unicode que contém o nome da interface.

hInterface

Um identificador para a interface .

fEnabled

Um valor que especifica se a interface está habilitada. Esse valor será TRUE se a interface estiver habilitada, FALSE se a interface estiver desabilitada administrativamente.

dwIfType

Um valor que identifica o tipo de interface.

dwConnectionState

Um valor que descreve o estado atual da interface, por exemplo, conectado, desconectado ou inacessível. Para obter mais informações e uma lista de estados possíveis, consulte ROUTER_CONNECTION_STATE.

fUnReachabilityReasons

Um valor que descreve o motivo pelo qual a interface está inacessível. Para obter mais informações e uma lista de valores possíveis, consulte Motivos de inacessibilidade.

dwLastError

Um valor que contém um valor diferente de zero se a interface não conseguir se conectar.

dwfOptions

Um valor que especifica sinalizadores de bits que são usados para definir opções de conexão. Você pode definir um dos sinalizadores listados na tabela a seguir.

Sinalizador Significado
MPRIO_SpecificIpAddr
Se esse sinalizador estiver definido, o RRAS tentará usar o endereço IP especificado por ipaddr como o endereço IP para a conexão discada. Se esse sinalizador não estiver definido, o valor do membro ipaddr será ignorado.

Definir o sinalizador MPRIO_SpecificIpAddr corresponde à seleção da configuração Especificar um Endereço IP na caixa de diálogo Configurações de TCP/IP. Limpar o sinalizador MPRIO_SpecificIpAddr corresponde à seleção da configuração Endereço IP Atribuído ao Servidor na caixa de diálogo Configurações de TCP/IP .

Atualmente, um endereço IP definido nas propriedades de entrada do catálogo telefônico ou recuperado de um servidor substitui o endereço IP definido no painel de controle de rede.

MPRIO_SpecificNameServers
Se esse sinalizador estiver definido, o RRAS usará os membros ipaddrDns, ipaddrDnsAlt, ipaddrWins e ipaddrWinsAlt para especificar os endereços do servidor de nomes para a conexão discada. Se esse sinalizador não estiver definido, o RRAS ignorará esses membros.

Definir o sinalizador MPRIO_SpecificNameServers corresponde à seleção da configuração Especificar Endereços do Servidor de Nomes na caixa de diálogo Configurações de TCP/IP. Desmarcar o sinalizador MPRIO_SpecificNameServers corresponde à seleção da configuração Endereços do Servidor de Nomes Atribuídos ao Servidor na caixa de diálogo Configurações de TCP/IP .

MPRIO_IpHeaderCompression
Se esse sinalizador estiver definido, o RRAS negociará para usar a compactação de cabeçalho IP em conexões PPP. A compactação de cabeçalho IP pode melhorar significativamente o desempenho.

Se esse sinalizador não estiver definido, a compactação de cabeçalho IP não será negociada.

Esse sinalizador corresponde à caixa Usar compactação de cabeçalho IP marcar na caixa de diálogo Configurações de TCP/IP. O sinalizador deve ser limpo somente ao se conectar a um servidor que não negocia corretamente a compactação de cabeçalho IP.

MPRIO_RemoteDefaultGateway
Se esse sinalizador estiver definido, a rota padrão para pacotes IP será por meio do adaptador de discagem quando a conexão estiver ativa. Se esse sinalizador for limpo, a rota padrão não será modificada.

Esse sinalizador corresponde à caixa Usar Gateway Padrão na Rede Remota marcar na caixa de diálogo Configurações de TCP/IP.

MPRIO_DisableLcpExtensions
Se esse sinalizador for definido, o RRAS desabilita as extensões PPP LCP definidas no RFC 1570. Desabilitar as extensões LCP do PPP pode ser necessário para se conectar a determinadas implementações de PPP mais antigas, mas interfere em recursos como o retorno de chamada do servidor. Não defina esse sinalizador, a menos que seja especificamente necessário.
MPRIO_SwCompression
Se esse sinalizador for definido, a compactação de software será negociada no link. Definir esse sinalizador faz com que o driver PPP tente negociar o PROTOCOLOC (Protocolo de Controle de Compactação) com o servidor. Esse sinalizador deve ser definido por padrão, mas desmarcar poderá reduzir o período de negociação se o servidor não der suporte a um protocolo de compactação compatível.
MPRIO_RequireEncryptedPw
Se esse sinalizador for definido, somente esquemas de senha segura poderão ser usados para autenticar o cliente com o servidor. Isso impede que o driver PPP use o protocolo de autenticação de texto sem formatação PAP para autenticar o cliente. No entanto, há suporte para os protocolos de autenticação MS-CHAP, MD5-CHAP e SPAP. Para aumentar a segurança, defina esse sinalizador. Para aumentar a interoperabilidade, desmarque esse sinalizador.

Esse sinalizador corresponde à caixa exigir senha criptografada marcar na caixa de diálogo Segurança. Para obter mais informações, consulte MPRIO_RequireMsEncryptedPw.

MPRIO_RequireMsEncryptedPw
Se esse sinalizador estiver definido, somente os esquemas de senha segura da Microsoft poderão ser usados para autenticar o cliente com o servidor. Isso impede que o driver PPP use o protocolo de autenticação de texto sem formatação PAP, MD5-CHAP ou SPAP. Para aumentar a segurança, defina esse sinalizador. Para aumentar a interoperabilidade, desmarque esse sinalizador. Esse sinalizador tem precedência sobre MPRIO_RequireEncryptedPw.

Esse sinalizador corresponde à caixa Exigir senha criptografada da Microsoft marcar na caixa de diálogo Segurança. Para obter mais informações, consulte MPRIO_RequireDataEncryption.

MPRIO_RequireDataEncryption
Se esse sinalizador for definido, a criptografia de dados deverá ser negociada com êxito ou a conexão deverá ser descartada. Esse sinalizador é ignorado, a menos que MPRIO_RequireMsEncryptedPw também esteja definido.

Esse sinalizador corresponde à caixa Exigir criptografia de dados marcar na caixa de diálogo Segurança.

MPRIO_NetworkLogon
Esse sinalizador é reservado para uso futuro.
MPRIO_UseLogonCredentials
Se esse sinalizador estiver definido, o RRAS usará o nome de usuário, a senha e o domínio do usuário conectado no momento ao discar essa entrada. Esse sinalizador é ignorado, a menos que MPRIO_RequireMsEncryptedPw também esteja definido.

Essa configuração é ignorada pela função RasDial em que especificar cadeias de caracteres vazias para os membros szUserName e szPassword da estrutura RASDIALPARAMS fornece o mesmo resultado.

Esse sinalizador corresponde à caixa de marcar Usar Nome de Usuário Atual e Senha na caixa de diálogo Segurança.

MPRIO_PromoteAlternates
Esse sinalizador tem efeito quando números de telefone alternativos são definidos pelo membro szAlternates . Se esse sinalizador for definido, um número de telefone alternativo que se conecta com êxito se tornará o número de telefone primário e o número de telefone primário atual será movido para a lista alternativa.

Esse sinalizador corresponde à caixa marcar na caixa de diálogo Números Alternativos.

MPRIO_SecureLocalFiles
Se esse sinalizador estiver definido, o RRAS verificará se há associações de impressora remota e de sistema de arquivos remotos existentes antes de fazer uma conexão com essa entrada. Normalmente, você define esse sinalizador em entradas de catálogo telefônico para redes públicas para lembrar os usuários de interromper conexões com sua rede privada antes de se conectarem a uma rede pública.
MPRIO_RequireEAP
Se esse sinalizador estiver definido, o Protocolo de Autenticação Extensível (EAP) deverá ter suporte para autenticação.
MPRIO_RequirePAP
Se esse sinalizador estiver definido, o Protocolo de Autenticação de Senha deverá ter suporte para autenticação.
MPRIO_RequireSPAP
Se esse sinalizador estiver definido, o SPAP (Protocolo de Autenticação de Senha) do Shiva deverá ter suporte para autenticação.
MPRIO_SharedPhoneNumbers
Se esse sinalizador estiver definido, os números de telefone serão compartilhados.
MPRIO_RequireCHAP
Se esse sinalizador estiver definido, o Protocolo de Autenticação de Handshake de Desafio deverá ter suporte para autenticação.
MPRIO_RequireMsCHAP
Se esse sinalizador estiver definido, o Protocolo de Autenticação de Handshake do Microsoft Challenge deverá ter suporte para autenticação.
MPRIO_RequireMsCHAP2
Se esse sinalizador estiver definido, a versão 2 do Protocolo de Autenticação de Handshake do Microsoft Challenge deverá ter suporte para autenticação.

szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]

Um valor que especifica uma cadeia de caracteres terminada em nulo que contém um número de telefone ou um endereço IPv6.

szAlternates

Um ponteiro para uma lista de cadeias de caracteres Unicode terminadas em nulo consecutivas. A última cadeia de caracteres é encerrada por dois caracteres nulos consecutivos. As cadeias de caracteres são números de telefone alternativos que o roteador disca, na ordem listada, se o número primário não conseguir se conectar. Para obter mais informações, consulte szLocalPhoneNumber.

ipaddr

Um valor que especifica o endereço IP a ser usado enquanto essa conexão está ativa. Esse membro é ignorado, a menos que dwfOptions especifique o sinalizador MPRIO_SpecificIpAddr .

ipaddrDns

Um valor que especifica o endereço IP do servidor DNS a ser usado enquanto essa conexão está ativa. Esse membro é ignorado, a menos que dwfOptions especifique o sinalizador MPRIO_SpecificNameServers .

ipaddrDnsAlt

Um valor que especifica o endereço IP de um servidor DNS secundário ou de backup a ser usado enquanto essa conexão está ativa. Esse membro é ignorado, a menos que dwfOptions especifique o sinalizador MPRIO_SpecificNameServers .

ipaddrWins

Um valor que especifica o endereço IP do servidor WINS a ser usado enquanto essa conexão está ativa. Esse membro é ignorado, a menos que dwfOptions especifique o sinalizador MPRIO_SpecificNameServers .

ipaddrWinsAlt

Um valor que especifica o endereço IP de um servidor WINS secundário a ser usado enquanto essa conexão está ativa. Esse membro é ignorado, a menos que dwfOptions especifique o sinalizador MPRIO_SpecificNameServers .

dwfNetProtocols

Um valor que especifica os protocolos de rede a serem negociados. Esse membro pode ser uma combinação dos sinalizadores a seguir.

Sinalizador Significado
MPRNP_Ipx
Negocie o protocolo IPX.
MPRNP_Ip
Negocie o protocolo TCP/IP.
 

Windows de 64 bits: Não há suporte para o sinalizador MPRNP_Ipx

szDeviceType[MPR_MaxDeviceType + 1]

Um valor que especifica uma cadeia de caracteres terminada em nulo que indica o tipo de dispositivo RRAS referenciado por szDeviceName. Esse membro pode ser uma das seguintes constantes de cadeia de caracteres.

String Significado
MPRDT_Modem
Um modem que é acessado por meio de uma porta COM.
MPRDT_Isdn
Um adaptador ISDN com o driver NDISWAN correspondente instalado.
MPRDT_X25
Um adaptador X.25 com o driver NDISWAN correspondente instalado.
MPRDT_Vpn
Uma conexão VPN (rede virtual privada).
MPRDT_Pad
Um assembler/desmontbler de pacotes.
MPRDT_Generic
Genérico.
MPRDT_Serial
Conexão serial direta por meio de uma porta serial.
MPRDT_FrameRelay
Retransmissão de Quadros.
MPRDT_Atm
Modo de Transferência Assíncrona.
MPRDT_Sonet
Sonet.
MPRDT_SW56
Acesso comutado em 56K.
MPRDT_Irda
Um dispositivo compatível com IrDA (Associação de Dados Infravermelhos).
MPRDT_Parallel
Conexão paralela direta por meio de uma porta paralela.

szDeviceName[MPR_MaxDeviceName + 1]

Contém uma cadeia de caracteres terminada em nulo que contém o nome de um dispositivo TAPI a ser usado com essa entrada de catálogo telefônico, por exemplo, "Fabrikam Inc 28800 External". Para enumerar todos os dispositivos compatíveis com RAS disponíveis, use a função RasEnumDevices .

szX25PadType[MPR_MaxPadType + 1]

Um tipo de dados que contém uma cadeia de caracteres terminada em nulo que identifica o tipo PAD X.25. Defina esse membro como uma cadeia de caracteres vazia (""), a menos que a entrada deva discar usando um PAD X.25.

Windows 2000 e Windows NT: A cadeia de caracteres szX25PadType é mapeada para um nome de seção em PAD.INF.

szX25Address[MPR_MaxX25Address + 1]

Contém uma cadeia de caracteres terminada em nulo que identifica o endereço X.25 ao qual se conectar. Defina esse membro como uma cadeia de caracteres vazia (""), a menos que a entrada deva discar usando um DISPOSITIVO X.25 PAD ou X.25 nativo.

szX25Facilities[MPR_MaxFacilities + 1]

Contém uma cadeia de caracteres terminada em nulo que especifica as instalações a serem solicitadas do host X.25 no momento da conexão. Esse membro será ignorado se szX25Address for uma cadeia de caracteres vazia ("").

szX25UserData[MPR_MaxUserData + 1]

Contém uma cadeia de caracteres terminada em nulo que especifica dados de conexão adicionais fornecidos ao host X.25 no momento da conexão. Esse membro será ignorado se szX25Address for uma cadeia de caracteres vazia ("").

dwChannels

Reservado para uso futuro.

dwSubEntries

Um valor que especifica o número de subentidades multilink associadas a essa entrada. Ao chamar RasSetEntryProperties, defina esse membro como zero. Para adicionar subentidades a uma entrada de catálogo telefônico, use a função RasSetSubEntryProperties .

dwDialMode

Indica se o RRAS deve discar todas as subentidades multilink dessa entrada quando a entrada estiver conectada pela primeira vez. Esse membro pode ser um dos valores a seguir.

Valor Significado
MPRDM_DialAll
Disque todas as subentidades inicialmente.
MPRDM_DialAsNeeded
Ajuste o número de subentries conforme a largura de banda é necessária. O RRAS usa os membros dwDialExtraPercent, dwDialExtraSampleSeconds, dwDialHangUpExtraPercent e dwHangUpExtraSampleSeconds para determinar quando discar ou desconectar uma subentrada.

dwDialExtraPercent

Um valor que especifica o percentual da largura de banda total disponível nas subentidades conectadas no momento. O RRAS disca uma subentrada adicional quando a largura de banda total usada excede o percentual dwDialExtraPercent da largura de banda disponível por pelo menos dwDialExtraSampleSeconds segundos .

Esse membro é ignorado, a menos que o membro dwDialMode especifique o sinalizador MPRDM_DialAsNeeded .

dwDialExtraSampleSeconds

Um valor que especifica o tempo, em segundos, para o qual o uso de largura de banda atual deve exceder o limite especificado por dwDialExtraPercent antes que o RRAS disque uma subentidade adicional.

Esse membro é ignorado, a menos que o membro dwDialMode especifique o sinalizador MPRDM_DialAsNeeded .

dwHangUpExtraPercent

Um valor que especifica o percentual da largura de banda total disponível nas subentidades conectadas no momento. O RRAS encerra (trava) uma conexão de subentrada existente quando a largura de banda total usada é menor que o percentual dwHangUpExtraPercent da largura de banda disponível por pelo menos segundos dwHangUpExtraSampleSeconds .

Esse membro é ignorado, a menos que o membro dwDialMode especifique o sinalizador MPRDM_DialAsNeeded .

dwHangUpExtraSampleSeconds

Um valor que especifica o tempo, em segundos, para o qual o uso de largura de banda atual deve ser menor que o limite especificado por dwHangUpExtraPercent antes que o RRAS encerre uma conexão de subentrada existente.

Esse membro é ignorado, a menos que o membro dwDialMode especifique o sinalizador MPRDM_DialAsNeeded .

dwIdleDisconnectSeconds

Um valor que especifica o tempo, em segundos, após o qual uma conexão inativa é encerrada. A menos que o tempo limite ocioso esteja desabilitado, toda a conexão será encerrada se a conexão estiver ociosa para o intervalo especificado. Esse membro pode especificar um valor de tempo limite ou um dos valores a seguir.

Valor Significado
MPRIDS_Disabled
Não há tempo limite ocioso para essa conexão.
MPRIDS_UseGlobalValue
Use o valor de preferência do usuário como o padrão.

dwType

Um valor que especifica o tipo de entrada do catálogo telefônico. Esse membro pode ser um dos tipos a seguir.

Type Significado
MPRET_Phone
Linha telefônica, por exemplo, modem, ISDN ou X.25.
MPRET_Vpn
Rede virtual privada.
MPRET_Direct
Conexão serial ou paralela direta.

dwEncryptionType

Um valor que especifica o tipo de criptografia a ser usado para a MPPE (Criptografia Ponto a Ponto) da Microsoft com a conexão. Esse membro pode ser um dos valores a seguir.

Valor Significado
MPR_ET_None
Não use criptografia.
MPR_ET_Require
Usar criptografia.
MPR_ET_RequireMax
Use criptografia de força máxima.
MPR_ET_Optional
Se possível, use criptografia.
 

O valor de dwEncryptionType não afeta a forma como as senhas são criptografadas. Se as senhas são criptografadas e como as senhas são criptografadas é determinado pelo protocolo de autenticação, por exemplo, PAP, MS-CHAP ou EAP.

dwCustomAuthKey

Um valor que especifica a chave de autenticação a ser fornecida a um fornecedor de Protocolo de Autenticação Extensível (EAP).

dwCustomAuthDataSize

Um valor que especifica o tamanho dos dados apontados pelo membro lpbCustomAuthData .

lpbCustomAuthData

Um ponteiro para os dados de autenticação a serem usados com o EAP.

guidId

O GUID (identificador global exclusivo) que representa essa entrada de catálogo telefônico. Este membro é somente leitura.

dwVpnStrategy

A estratégia vpn a ser usada ao discar uma conexão VPN. Esse membro pode ter um dos valores a seguir.

Valor Significado
MPR_VS_Default
O RRAS disca PPTP primeiro. Se o PPTP falhar, o L2TP será tentado. O protocolo que é bem-sucedido é testado primeiro na discagem subsequente para essa entrada.
MPR_VS_PptpOnly
RAS disca apenas PPTP.
MPR_VS_PptpFirst
RAS sempre disca PPTP primeiro, L2TP segundo.
MPR_VS_L2tpOnly
RAS disca apenas L2TP.
MPR_VS_L2tpFirst
RAS disca L2TP primeiro, PPTP segundo.

AddressCount

Não usado.

ipv6addrDns

Um valor que especifica o endereço IP do servidor DNS a ser usado enquanto essa conexão está ativa.

ipv6addrDnsAlt

Um valor que especifica o endereço IP de um servidor DNS secundário ou de backup a ser usado enquanto essa conexão está ativa.

ipv6addr

Não usado.

Comentários

A estrutura MPR_INTERFACE_3 tem vários membros semelhantes aos membros da estrutura RASENTRY .

Os seguintes membros da estrutura RASENTRY não têm nenhum equivalente no MPR_INTERFACE_3:

  • dwCountryID
  • Dwcountrycode
  • szAreaCode
  • dwFramingProtocol
Windows de 64 bits: Não dá suporte ao protocolo IPX.

Requisitos

   
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho mprapi.h

Confira também

MPR_INTERFACE_0

MPR_INTERFACE_1

MPR_INTERFACE_2

MprAdminInterfaceGetInfo

MprAdminInterfaceSetInfo