다음을 통해 공유


MPR_INTERFACE_3 구조체(mprapi.h)

MPR_INTERFACE_3 구조에는 라우터 수요 다이얼 인터페이스에 대한 데이터가 포함됩니다.

구문

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;

멤버

wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1]

인터페이스의 이름을 포함하는 유니코드 문자열에 대한 포인터입니다.

hInterface

인터페이스에 대한 핸들입니다.

fEnabled

인터페이스를 사용할 수 있는지 여부를 지정하는 값입니다. 인터페이스가 사용하도록 설정된 경우 이 값은 TRUE 이고, 인터페이스가 관리적으로 사용하지 않도록 설정된 경우 FALSE 입니다.

dwIfType

인터페이스 형식을 식별하는 값입니다.

dwConnectionState

인터페이스의 현재 상태(예: 연결됨, 연결 끊김 또는 연결할 수 없음)를 설명하는 값입니다. 자세한 내용과 가능한 상태 목록은 ROUTER_CONNECTION_STATE.

fUnReachabilityReasons

인터페이스에 연결할 수 없는 이유를 설명하는 값입니다. 자세한 내용과 가능한 값 목록은 연결할 수 없는 이유를 참조하세요.

dwLastError

인터페이스 연결에 실패한 경우 0이 아닌 값을 포함하는 값입니다.

dwfOptions

연결 옵션을 설정하는 데 사용되는 비트 플래그를 지정하는 값입니다. 다음 표에 나열된 플래그 중 하나를 설정할 수 있습니다.

플래그 의미
MPRIO_SpecificIpAddr
이 플래그가 설정된 경우 RRAS는 ipaddr 에서 지정한 IP 주소를 전화 접속 연결의 IP 주소로 사용하려고 시도합니다. 이 플래그를 설정하지 않으면 ipaddr 멤버의 값이 무시됩니다.

MPRIO_SpecificIpAddr 플래그 설정은 TCP/IP 설정 대화 상자에서 IP 주소 지정 설정을 선택하는 것에 해당합니다. MPRIO_SpecificIpAddr 플래그를 지우는 것은 TCP/IP 설정 대화 상자에서 서버 할당 IP 주소 설정을 선택하는 것에 해당합니다.

현재 전화 번호부 항목 속성에 설정되거나 서버에서 검색된 IP 주소는 네트워크 제어판에 설정된 IP 주소를 재정의합니다.

MPRIO_SpecificNameServers
이 플래그가 설정된 경우 RRAS는 ipaddrDns, ipaddrDnsAlt, ipaddrWinsipaddrWinsAlt 멤버를 사용하여 전화 접속 연결의 이름 서버 주소를 지정합니다. 이 플래그를 설정하지 않으면 RRAS는 이러한 멤버를 무시합니다.

MPRIO_SpecificNameServers 플래그 설정은 TCP/IP 설정 대화 상자에서 이름 서버 주소 지정 설정을 선택하는 것에 해당합니다. MPRIO_SpecificNameServers 플래그를 지우는 것은 TCP/IP 설정 대화 상자에서 서버 할당 이름 서버 주소 설정을 선택하는 데 해당합니다.

MPRIO_IpHeaderCompression
이 플래그가 설정되면 RRAS는 PPP 연결에서 IP 헤더 압축을 사용하도록 협상합니다. IP 헤더 압축은 성능을 크게 향상시킬 수 있습니다.

이 플래그를 설정하지 않으면 IP 헤더 압축이 협상되지 않습니다.

이 플래그는 TCP/IP 설정 대화 상자의 IP 헤더 압축 검사 사용 상자에 해당합니다. IP 헤더 압축을 올바르게 협상하지 않는 서버에 연결할 때만 플래그를 지워야 합니다.

MPRIO_RemoteDefaultGateway
이 플래그를 설정하면 연결이 활성화된 경우 IP 패킷의 기본 경로는 전화 접속 어댑터를 통해 수행됩니다. 이 플래그가 지워지면 기본 경로가 수정되지 않습니다.

이 플래그는 TCP/IP 설정 대화 상자의 원격 네트워크 검사 기본 게이트웨이 사용 상자에 해당합니다.

MPRIO_DisableLcpExtensions
이 플래그가 설정되면 RRAS는 RFC 1570에 정의된 PPP LCP 확장을 사용하지 않도록 설정합니다. 특정 이전 PPP 구현에 연결하려면 PPP LCP 확장을 사용하지 않도록 설정해야 할 수 있지만 서버 콜백과 같은 기능을 방해합니다. 특별히 필요한 경우가 아니면 이 플래그를 설정하지 마세요.
MPRIO_SwCompression
이 플래그를 설정하면 링크에서 소프트웨어 압축이 협상됩니다. 이 플래그를 설정하면 PPP 드라이버가 서버와 CCP(압축 제어 프로토콜)를 협상하려고 시도합니다. 이 플래그는 기본적으로 설정해야 하지만 서버에서 호환되는 압축 프로토콜을 지원하지 않는 경우 이 플래그를 지우면 협상 기간이 단축될 수 있습니다.
MPRIO_RequireEncryptedPw
이 플래그가 설정된 경우 보안 암호 체계만 사용하여 서버에서 클라이언트를 인증할 수 있습니다. 이렇게 하면 PPP 드라이버가 PAP 일반 텍스트 인증 프로토콜을 사용하여 클라이언트를 인증할 수 없습니다. 그러나 MS-CHAP, MD5-CHAP 및 SPAP 인증 프로토콜이 지원됩니다. 보안을 강화하려면 이 플래그를 설정합니다. 상호 운용성을 높이려면 이 플래그를 지웁니다.

이 플래그는 보안 대화 상자의 암호화된 암호 검사 필요 상자에 해당합니다. 자세한 내용은 MPRIO_RequireMsEncryptedPw 참조하세요.

MPRIO_RequireMsEncryptedPw
이 플래그가 설정된 경우 Microsoft 보안 암호 체계만 사용하여 서버를 사용하여 클라이언트를 인증할 수 있습니다. 이렇게 하면 PPP 드라이버가 PAP 일반 텍스트 인증 프로토콜, MD5-CHAP 또는 SPAP를 사용할 수 없습니다. 보안을 강화하려면 이 플래그를 설정합니다. 상호 운용성을 높이려면 이 플래그를 지웁니다. 이 플래그는 MPRIO_RequireEncryptedPw 우선합니다.

이 플래그는 보안 대화 상자의 Microsoft 암호화 암호 검사 필요 상자에 해당합니다. 자세한 내용은 MPRIO_RequireDataEncryption 참조하세요.

MPRIO_RequireDataEncryption
이 플래그를 설정하면 데이터 암호화를 성공적으로 협상하거나 연결을 끊어야 합니다. MPRIO_RequireMsEncryptedPw 설정되지 않으면 이 플래그는 무시됩니다.

이 플래그는 보안 대화 상자의 데이터 암호화 필요 검사 상자에 해당합니다.

MPRIO_NetworkLogon
이 플래그는 나중에 사용하도록 예약되어 있습니다.
MPRIO_UseLogonCredentials
이 플래그가 설정된 경우 RRAS는 이 항목에 전화를 걸 때 현재 로그온한 사용자의 사용자 이름, 암호 및 도메인을 사용합니다. MPRIO_RequireMsEncryptedPw 설정되지 않으면 이 플래그는 무시됩니다.

RASDIALPARAMS 구조체의 szUserName 및 szPassword 멤버에 대해 빈 문자열을 지정하면 동일한 결과가 제공되는 RasDial 함수에서는 이 설정을 무시합니다.

이 플래그는 보안 대화 상자의 현재 사용자 이름 및 암호 검사 사용 상자에 해당합니다.

MPRIO_PromoteAlternates
이 플래그는 대체 전화 번호가 szAlternates 멤버에 의해 정의되는 경우에 영향을 줍니다. 이 플래그를 설정하면 연결하는 대체 전화 번호가 기본 전화 번호가 되고 현재 기본 전화 번호가 대체 목록으로 이동됩니다.

이 플래그는 대체 번호 대화 상자의 검사 상자에 해당합니다.

MPRIO_SecureLocalFiles
이 플래그가 설정된 경우 RRAS는 이 항목과 연결하기 전에 기존 원격 파일 시스템 및 원격 프린터 바인딩을 확인합니다. 일반적으로 공용 네트워크에 연결하기 전에 사용자에게 개인 네트워크에 대한 연결을 끊도록 미리 알림으로 공용 네트워크에 대한 전화 번호부 항목에 이 플래그를 설정합니다.
MPRIO_RequireEAP
이 플래그를 설정하면 인증에 EAP(확장 가능 인증 프로토콜)가 지원되어야 합니다.
MPRIO_RequirePAP
이 플래그를 설정하면 인증에 암호 인증 프로토콜이 지원되어야 합니다.
MPRIO_RequireSPAP
이 플래그를 설정하면 인증에 Shiva의 SPAP(암호 인증 프로토콜)가 지원되어야 합니다.
MPRIO_SharedPhoneNumbers
이 플래그를 설정하면 전화 번호가 공유됩니다.
MPRIO_RequireCHAP
이 플래그가 설정된 경우 인증에 대해 Challenge 핸드셰이크 인증 프로토콜을 지원해야 합니다.
MPRIO_RequireMsCHAP
이 플래그가 설정된 경우 인증에 대해 Microsoft Challenge 핸드셰이크 인증 프로토콜을 지원해야 합니다.
MPRIO_RequireMsCHAP2
이 플래그가 설정된 경우 인증에 대해 Microsoft Challenge 핸드셰이크 인증 프로토콜 버전 2가 지원되어야 합니다.

szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]

전화 번호 또는 IPv6 주소를 포함하는 null로 끝나는 문자열을 지정하는 값입니다.

szAlternates

연속 null로 끝나는 유니코드 문자열 목록에 대한 포인터입니다. 마지막 문자열은 두 개의 연속된 null 문자로 종료됩니다. 문자열은 기본 번호가 연결되지 않을 경우 라우터가 나열된 순서대로 전화를 거는 대체 전화 번호입니다. 자세한 내용은 szLocalPhoneNumber를 참조하세요.

ipaddr

이 연결이 활성 상태일 때 사용할 IP 주소를 지정하는 값입니다. dwfOptions에서 MPRIO_SpecificIpAddr 플래그를 지정하지 않으면 이 멤버는 무시됩니다.

ipaddrDns

이 연결이 활성 상태일 때 사용할 DNS 서버의 IP 주소를 지정하는 값입니다. dwfOptions에서 MPRIO_SpecificNameServers 플래그를 지정하지 않으면 이 멤버는 무시됩니다.

ipaddrDnsAlt

이 연결이 활성화된 동안 사용할 보조 또는 백업 DNS 서버의 IP 주소를 지정하는 값입니다. dwfOptions에서 MPRIO_SpecificNameServers 플래그를 지정하지 않으면 이 멤버는 무시됩니다.

ipaddrWins

이 연결이 활성화된 동안 사용할 WINS 서버의 IP 주소를 지정하는 값입니다. dwfOptions에서 MPRIO_SpecificNameServers 플래그를 지정하지 않으면 이 멤버는 무시됩니다.

ipaddrWinsAlt

이 연결이 활성 상태일 때 사용할 보조 WINS 서버의 IP 주소를 지정하는 값입니다. dwfOptions에서 MPRIO_SpecificNameServers 플래그를 지정하지 않으면 이 멤버는 무시됩니다.

dwfNetProtocols

협상할 네트워크 프로토콜을 지정하는 값입니다. 이 멤버는 다음 플래그의 조합일 수 있습니다.

플래그 의미
MPRNP_Ipx
IPX 프로토콜을 협상합니다.
MPRNP_Ip
TCP/IP 프로토콜을 협상합니다.
 

64비트 Windows: MPRNP_Ipx 플래그는 지원되지 않습니다.

szDeviceType[MPR_MaxDeviceType + 1]

szDeviceName에서 참조하는 RRAS 디바이스 유형을 나타내는 null로 끝나는 문자열을 지정하는 값입니다. 이 멤버는 다음 문자열 상수 중 하나일 수 있습니다.

String 의미
MPRDT_Modem
COM 포트를 통해 액세스되는 모뎀입니다.
MPRDT_Isdn
해당 NDISWAN 드라이버가 설치된 ISDN 어댑터입니다.
MPRDT_X25
해당 NDISWAN 드라이버가 설치된 X.25 어댑터입니다.
MPRDT_Vpn
VPN(가상 사설망) 연결입니다.
MPRDT_Pad
패킷 어셈블러/디스어셈블러입니다.
MPRDT_Generic
일반.
MPRDT_Serial
직렬 포트를 통해 직렬 연결을 직접 연결합니다.
MPRDT_FrameRelay
프레임 릴레이.
MPRDT_Atm
비동기 전송 모드입니다.
MPRDT_Sonet
Sonet.
MPRDT_SW56
56K 액세스를 전환했습니다.
MPRDT_Irda
IrDA(적외선 데이터 연결) 규격 디바이스.
MPRDT_Parallel
병렬 포트를 통한 직접 병렬 연결.

szDeviceName[MPR_MaxDeviceName + 1]

이 전화 번호부 항목에 사용할 TAPI 디바이스의 이름을 포함하는 null로 끝나는 문자열(예: "Fabrikam Inc 28800 External")을 포함합니다. 사용 가능한 모든 RAS 지원 디바이스를 열거하려면 RasEnumDevices 함수를 사용합니다.

szX25PadType[MPR_MaxPadType + 1]

X.25 PAD 형식을 식별하는 null로 끝나는 문자열을 포함하는 데이터 형식입니다. 항목이 X.25 PAD를 사용하여 전화를 걸지 않는 한 이 멤버를 빈 문자열("")로 설정합니다.

Windows 2000 및 Windows NT: szX25PadType 문자열은 PAD.INF의 섹션 이름에 매핑됩니다.

szX25Address[MPR_MaxX25Address + 1]

연결할 X.25 주소를 식별하는 null로 끝나는 문자열을 포함합니다. 항목이 X.25 PAD 또는 네이티브 X.25 디바이스를 사용하여 전화를 걸지 않는 한 이 멤버를 빈 문자열("")로 설정합니다.

szX25Facilities[MPR_MaxFacilities + 1]

연결 시 X.25 호스트에서 요청할 기능을 지정하는 null로 끝나는 문자열을 포함합니다. szX25Address가 빈 문자열("")인 경우 이 멤버는 무시됩니다.

szX25UserData[MPR_MaxUserData + 1]

연결 시 X.25 호스트에 제공된 추가 연결 데이터를 지정하는 null로 끝나는 문자열을 포함합니다. szX25Address가 빈 문자열("")인 경우 이 멤버는 무시됩니다.

dwChannels

다음에 사용하도록 예약됩니다.

dwSubEntries

이 항목과 연결된 다중 링크 하위 엔티티의 수를 지정하는 값입니다. RasSetEntryProperties를 호출할 때 이 멤버를 0으로 설정합니다. 전화 번호부 항목에 하위 엔트리를 추가하려면 RasSetSubEntryProperties 함수를 사용합니다.

dwDialMode

항목이 처음 연결되면 RRAS가 이 항목의 모든 다중 링크 하위 엔티티에 전화를 걸어야 하는지 여부를 나타냅니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

의미
MPRDM_DialAll
처음에 모든 하위 엔트리에 전화를 걸 수 있습니다.
MPRDM_DialAsNeeded
대역폭이 필요하기 때문에 하위 엔티티 수를 조정합니다. RRAS는 dwDialExtraPercent, dwDialExtraSampleSeconds, dwDialHangUpExtraPercentdwHangUpExtraSampleSeconds 멤버를 사용하여 하위 엔트리에 전화를 걸거나 연결을 끊을 시기를 결정합니다.

dwDialExtraPercent

현재 연결된 하위 엔티티에서 사용할 수 있는 총 대역폭의 백분율을 지정하는 값입니다. 사용되는 총 대역폭이 최소 dwDialExtraSampleSeconds 초 동안 사용 가능한 대역폭의 dwDialExtraPercent 백분율을 초과하면 RRAS는 추가 하위 엔트리를 다이얼합니다.

dwDialMode 멤버가 MPRDM_DialAsNeeded 플래그를 지정하지 않으면 이 멤버는 무시됩니다.

dwDialExtraSampleSeconds

RRAS가 추가 하위 엔트리에 전화를 걸기 전에 현재 대역폭 사용량이 dwDialExtraPercent 에 지정된 임계값을 초과해야 하는 시간(초)을 지정하는 값입니다.

dwDialMode 멤버가 MPRDM_DialAsNeeded 플래그를 지정하지 않으면 이 멤버는 무시됩니다.

dwHangUpExtraPercent

현재 연결된 하위 엔티티에서 사용할 수 있는 총 대역폭의 백분율을 지정하는 값입니다. 사용된 총 대역폭이 최소 dwHangUpExtraSampleSeconds 초 동안 사용 가능한 대역폭의 dwHangUpExtraPercent 백분율보다 작은 경우 RRAS는 기존 하위 엔터티 연결을 종료(중단)합니다.

dwDialMode 멤버가 MPRDM_DialAsNeeded 플래그를 지정하지 않으면 이 멤버는 무시됩니다.

dwHangUpExtraSampleSeconds

RRAS가 기존 하위 엔터티 연결을 종료하기 전에 현재 대역폭 사용량이 dwHangUpExtraPercent 에서 지정한 임계값보다 작아야 하는 시간(초)을 지정하는 값입니다.

dwDialMode 멤버가 MPRDM_DialAsNeeded 플래그를 지정하지 않으면 이 멤버는 무시됩니다.

dwIdleDisconnectSeconds

비활성 연결이 종료된 시간(초)을 지정하는 값입니다. 유휴 시간 초과를 사용하지 않도록 설정하지 않으면 지정된 간격 동안 연결이 유휴 상태이면 전체 연결이 종료됩니다. 이 멤버는 제한 시간 값 또는 다음 값 중 하나를 지정할 수 있습니다.

의미
MPRIDS_Disabled
이 연결에 대한 유휴 시간 제한은 없습니다.
MPRIDS_UseGlobalValue
사용자 기본 설정 값을 기본값으로 사용합니다.

dwType

전화 번호부 항목의 유형을 지정하는 값입니다. 이 멤버는 다음 형식 중 하나일 수 있습니다.

Type 의미
MPRET_Phone
전화선(예: 모뎀, ISDN 또는 X.25).
MPRET_Vpn
가상 사설망.
MPRET_Direct
직접 직렬 또는 병렬 연결입니다.

dwEncryptionType

연결이 있는 MPPE(Microsoft Point-to-Point Encryption)에 사용할 암호화 유형을 지정하는 값입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

의미
MPR_ET_None
암호화를 사용하지 마세요.
MPR_ET_Require
암호화를 사용합니다.
MPR_ET_RequireMax
최대 강도 암호화를 사용합니다.
MPR_ET_Optional
가능하면 암호화를 사용합니다.
 

dwEncryptionType 값은 암호 암호화 방법에 영향을 주지 않습니다. 암호가 암호화되는지 여부와 암호 암호화 방법은 인증 프로토콜(예: PAP, MS-CHAP 또는 EAP)에 의해 결정됩니다.

dwCustomAuthKey

EAP(확장 가능 인증 프로토콜) 공급업체에 제공할 인증 키를 지정하는 값입니다.

dwCustomAuthDataSize

lpbCustomAuthData 멤버가 가리키는 데이터의 크기를 지정하는 값입니다.

lpbCustomAuthData

EAP와 함께 사용할 인증 데이터에 대한 포인터입니다.

guidId

이 전화 번호부 항목을 나타내는 GUID(Globally Unique Identifier)입니다. 이 멤버는 읽기 전용입니다.

dwVpnStrategy

VPN 연결에 전화를 걸 때 사용할 VPN 전략입니다. 이 멤버는 다음 값 중 하나를 가질 수 있습니다.

의미
MPR_VS_Default
RRAS는 PPTP를 먼저 다이얼합니다. PPTP가 실패하면 L2TP가 시도됩니다. 성공하는 프로토콜은 이 항목에 대한 후속 전화 걸기에서 먼저 시도됩니다.
MPR_VS_PptpOnly
RAS는 PPTP만 다이얼합니다.
MPR_VS_PptpFirst
RAS는 항상 PPTP 우선, L2TP 초를 다이얼합니다.
MPR_VS_L2tpOnly
RAS는 L2TP만 다이얼합니다.
MPR_VS_L2tpFirst
RAS는 L2TP를 먼저, PPTP 초를 다이얼합니다.

AddressCount

사용되지 않습니다.

ipv6addrDns

이 연결이 활성 상태일 때 사용할 DNS 서버의 IP 주소를 지정하는 값입니다.

ipv6addrDnsAlt

이 연결이 활성 상태일 때 사용할 보조 또는 백업 DNS 서버의 IP 주소를 지정하는 값입니다.

ipv6addr

사용되지 않습니다.

설명

MPR_INTERFACE_3 구조에는 RASENTRY 구조체의 멤버와 유사한 멤버 수가 있습니다.

RASENTRY 구조의 다음 멤버에는 MPR_INTERFACE_3 해당 항목이 없습니다.

  • dwCountryID
  • dwCountryCode
  • szAreaCode
  • dwFramingProtocol
64비트 Windows: IPX 프로토콜을 지원하지 않습니다.

요구 사항

   
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 mprapi.h

참고 항목

MPR_INTERFACE_0

MPR_INTERFACE_1

MPR_INTERFACE_2

MprAdminInterfaceGetInfo

MprAdminInterfaceSetInfo