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
연결 옵션을 설정하는 데 사용되는 비트 플래그를 지정하는 값입니다. 다음 표에 나열된 플래그 중 하나를 설정할 수 있습니다.
플래그 | 의미 |
---|---|
|
이 플래그가 설정된 경우 RRAS는 ipaddr 에서 지정한 IP 주소를 전화 접속 연결의 IP 주소로 사용하려고 시도합니다. 이 플래그를 설정하지 않으면 ipaddr 멤버의 값이 무시됩니다.
MPRIO_SpecificIpAddr 플래그 설정은 TCP/IP 설정 대화 상자에서 IP 주소 지정 설정을 선택하는 것에 해당합니다. MPRIO_SpecificIpAddr 플래그를 지우는 것은 TCP/IP 설정 대화 상자에서 서버 할당 IP 주소 설정을 선택하는 것에 해당합니다. 현재 전화 번호부 항목 속성에 설정되거나 서버에서 검색된 IP 주소는 네트워크 제어판에 설정된 IP 주소를 재정의합니다. |
|
이 플래그가 설정된 경우 RRAS는 ipaddrDns, ipaddrDnsAlt, ipaddrWins 및 ipaddrWinsAlt 멤버를 사용하여 전화 접속 연결의 이름 서버 주소를 지정합니다. 이 플래그를 설정하지 않으면 RRAS는 이러한 멤버를 무시합니다.
MPRIO_SpecificNameServers 플래그 설정은 TCP/IP 설정 대화 상자에서 이름 서버 주소 지정 설정을 선택하는 것에 해당합니다. MPRIO_SpecificNameServers 플래그를 지우는 것은 TCP/IP 설정 대화 상자에서 서버 할당 이름 서버 주소 설정을 선택하는 데 해당합니다. |
|
이 플래그가 설정되면 RRAS는 PPP 연결에서 IP 헤더 압축을 사용하도록 협상합니다. IP 헤더 압축은 성능을 크게 향상시킬 수 있습니다.
이 플래그를 설정하지 않으면 IP 헤더 압축이 협상되지 않습니다. 이 플래그는 TCP/IP 설정 대화 상자의 IP 헤더 압축 검사 사용 상자에 해당합니다. IP 헤더 압축을 올바르게 협상하지 않는 서버에 연결할 때만 플래그를 지워야 합니다. |
|
이 플래그를 설정하면 연결이 활성화된 경우 IP 패킷의 기본 경로는 전화 접속 어댑터를 통해 수행됩니다. 이 플래그가 지워지면 기본 경로가 수정되지 않습니다.
이 플래그는 TCP/IP 설정 대화 상자의 원격 네트워크 검사 기본 게이트웨이 사용 상자에 해당합니다. |
|
이 플래그가 설정되면 RRAS는 RFC 1570에 정의된 PPP LCP 확장을 사용하지 않도록 설정합니다. 특정 이전 PPP 구현에 연결하려면 PPP LCP 확장을 사용하지 않도록 설정해야 할 수 있지만 서버 콜백과 같은 기능을 방해합니다. 특별히 필요한 경우가 아니면 이 플래그를 설정하지 마세요. |
|
이 플래그를 설정하면 링크에서 소프트웨어 압축이 협상됩니다. 이 플래그를 설정하면 PPP 드라이버가 서버와 CCP(압축 제어 프로토콜)를 협상하려고 시도합니다. 이 플래그는 기본적으로 설정해야 하지만 서버에서 호환되는 압축 프로토콜을 지원하지 않는 경우 이 플래그를 지우면 협상 기간이 단축될 수 있습니다. |
|
이 플래그가 설정된 경우 보안 암호 체계만 사용하여 서버에서 클라이언트를 인증할 수 있습니다. 이렇게 하면 PPP 드라이버가 PAP 일반 텍스트 인증 프로토콜을 사용하여 클라이언트를 인증할 수 없습니다. 그러나 MS-CHAP, MD5-CHAP 및 SPAP 인증 프로토콜이 지원됩니다. 보안을 강화하려면 이 플래그를 설정합니다. 상호 운용성을 높이려면 이 플래그를 지웁니다.
이 플래그는 보안 대화 상자의 암호화된 암호 검사 필요 상자에 해당합니다. 자세한 내용은 MPRIO_RequireMsEncryptedPw 참조하세요. |
|
이 플래그가 설정된 경우 Microsoft 보안 암호 체계만 사용하여 서버를 사용하여 클라이언트를 인증할 수 있습니다. 이렇게 하면 PPP 드라이버가 PAP 일반 텍스트 인증 프로토콜, MD5-CHAP 또는 SPAP를 사용할 수 없습니다. 보안을 강화하려면 이 플래그를 설정합니다. 상호 운용성을 높이려면 이 플래그를 지웁니다. 이 플래그는 MPRIO_RequireEncryptedPw 우선합니다.
이 플래그는 보안 대화 상자의 Microsoft 암호화 암호 검사 필요 상자에 해당합니다. 자세한 내용은 MPRIO_RequireDataEncryption 참조하세요. |
|
이 플래그를 설정하면 데이터 암호화를 성공적으로 협상하거나 연결을 끊어야 합니다. MPRIO_RequireMsEncryptedPw 설정되지 않으면 이 플래그는 무시됩니다.
이 플래그는 보안 대화 상자의 데이터 암호화 필요 검사 상자에 해당합니다. |
|
이 플래그는 나중에 사용하도록 예약되어 있습니다. |
|
이 플래그가 설정된 경우 RRAS는 이 항목에 전화를 걸 때 현재 로그온한 사용자의 사용자 이름, 암호 및 도메인을 사용합니다. MPRIO_RequireMsEncryptedPw 설정되지 않으면 이 플래그는 무시됩니다.
RASDIALPARAMS 구조체의 szUserName 및 szPassword 멤버에 대해 빈 문자열을 지정하면 동일한 결과가 제공되는 RasDial 함수에서는 이 설정을 무시합니다. 이 플래그는 보안 대화 상자의 현재 사용자 이름 및 암호 검사 사용 상자에 해당합니다. |
|
이 플래그는 대체 전화 번호가 szAlternates 멤버에 의해 정의되는 경우에 영향을 줍니다. 이 플래그를 설정하면 연결하는 대체 전화 번호가 기본 전화 번호가 되고 현재 기본 전화 번호가 대체 목록으로 이동됩니다.
이 플래그는 대체 번호 대화 상자의 검사 상자에 해당합니다. |
|
이 플래그가 설정된 경우 RRAS는 이 항목과 연결하기 전에 기존 원격 파일 시스템 및 원격 프린터 바인딩을 확인합니다. 일반적으로 공용 네트워크에 연결하기 전에 사용자에게 개인 네트워크에 대한 연결을 끊도록 미리 알림으로 공용 네트워크에 대한 전화 번호부 항목에 이 플래그를 설정합니다. |
|
이 플래그를 설정하면 인증에 EAP(확장 가능 인증 프로토콜)가 지원되어야 합니다. |
|
이 플래그를 설정하면 인증에 암호 인증 프로토콜이 지원되어야 합니다. |
|
이 플래그를 설정하면 인증에 Shiva의 SPAP(암호 인증 프로토콜)가 지원되어야 합니다. |
|
이 플래그를 설정하면 전화 번호가 공유됩니다. |
|
이 플래그가 설정된 경우 인증에 대해 Challenge 핸드셰이크 인증 프로토콜을 지원해야 합니다. |
|
이 플래그가 설정된 경우 인증에 대해 Microsoft Challenge 핸드셰이크 인증 프로토콜을 지원해야 합니다. |
|
이 플래그가 설정된 경우 인증에 대해 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
협상할 네트워크 프로토콜을 지정하는 값입니다. 이 멤버는 다음 플래그의 조합일 수 있습니다.
플래그 | 의미 |
---|---|
|
IPX 프로토콜을 협상합니다. |
|
TCP/IP 프로토콜을 협상합니다. |
64비트 Windows: MPRNP_Ipx 플래그는 지원되지 않습니다.
szDeviceType[MPR_MaxDeviceType + 1]
szDeviceName에서 참조하는 RRAS 디바이스 유형을 나타내는 null로 끝나는 문자열을 지정하는 값입니다. 이 멤버는 다음 문자열 상수 중 하나일 수 있습니다.
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가 이 항목의 모든 다중 링크 하위 엔티티에 전화를 걸어야 하는지 여부를 나타냅니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
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
비활성 연결이 종료된 시간(초)을 지정하는 값입니다. 유휴 시간 초과를 사용하지 않도록 설정하지 않으면 지정된 간격 동안 연결이 유휴 상태이면 전체 연결이 종료됩니다. 이 멤버는 제한 시간 값 또는 다음 값 중 하나를 지정할 수 있습니다.
값 | 의미 |
---|---|
|
이 연결에 대한 유휴 시간 제한은 없습니다. |
|
사용자 기본 설정 값을 기본값으로 사용합니다. |
dwType
전화 번호부 항목의 유형을 지정하는 값입니다. 이 멤버는 다음 형식 중 하나일 수 있습니다.
Type | 의미 |
---|---|
|
전화선(예: 모뎀, ISDN 또는 X.25). |
|
가상 사설망. |
|
직접 직렬 또는 병렬 연결입니다. |
dwEncryptionType
연결이 있는 MPPE(Microsoft Point-to-Point Encryption)에 사용할 암호화 유형을 지정하는 값입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
암호화를 사용하지 마세요. |
|
암호화를 사용합니다. |
|
최대 강도 암호화를 사용합니다. |
|
가능하면 암호화를 사용합니다. |
dwEncryptionType 값은 암호 암호화 방법에 영향을 주지 않습니다. 암호가 암호화되는지 여부와 암호 암호화 방법은 인증 프로토콜(예: PAP, MS-CHAP 또는 EAP)에 의해 결정됩니다.
dwCustomAuthKey
EAP(확장 가능 인증 프로토콜) 공급업체에 제공할 인증 키를 지정하는 값입니다.
dwCustomAuthDataSize
lpbCustomAuthData 멤버가 가리키는 데이터의 크기를 지정하는 값입니다.
lpbCustomAuthData
EAP와 함께 사용할 인증 데이터에 대한 포인터입니다.
guidId
이 전화 번호부 항목을 나타내는 GUID(Globally Unique Identifier)입니다. 이 멤버는 읽기 전용입니다.
dwVpnStrategy
VPN 연결에 전화를 걸 때 사용할 VPN 전략입니다. 이 멤버는 다음 값 중 하나를 가질 수 있습니다.
AddressCount
사용되지 않습니다.
ipv6addrDns
이 연결이 활성 상태일 때 사용할 DNS 서버의 IP 주소를 지정하는 값입니다.
ipv6addrDnsAlt
이 연결이 활성 상태일 때 사용할 보조 또는 백업 DNS 서버의 IP 주소를 지정하는 값입니다.
ipv6addr
사용되지 않습니다.
설명
MPR_INTERFACE_3 구조에는 RASENTRY 구조체의 멤버와 유사한 멤버 수가 있습니다.
RASENTRY 구조의 다음 멤버에는 MPR_INTERFACE_3 해당 항목이 없습니다.
- dwCountryID
- dwCountryCode
- szAreaCode
- dwFramingProtocol
요구 사항
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | mprapi.h |