SetIpStatisticsEx 함수(iphlpapi.h)
SetIpStatisticsEx 함수는 IP 전달을 설정하거나 해제하고 로컬 컴퓨터의 기본 TTL(Time-to-Live) 값을 설정합니다.
구문
IPHLPAPI_DLL_LINKAGE ULONG SetIpStatisticsEx(
[in] PMIB_IPSTATS Statistics,
ULONG Family
);
매개 변수
[in] Statistics
MIB_IPSTATS 구조체에 대한 포인터입니다. 호출자는 이 구조체의 dwForwarding 및 dwDefaultTTL 멤버를 새 값으로 설정해야 합니다. 멤버 중 하나를 현재 값으로 유지하려면 MIB_USE_CURRENT_TTL 또는 MIB_USE_CURRENT_FORWARDING 사용합니다.
Family
전달 및 TTL을 설정할 주소 패밀리입니다.
주소 패밀리에 대한 가능한 값은 Winsock2.h 헤더 파일에 나열됩니다. AF_ 주소 패밀리 및 PF_ 프로토콜 패밀리 상수의 값은 동일하므로(예: AF_INET 및 PF_INET) 상수를 사용할 수 있습니다.
Windows Vista 이상용으로 릴리스된 Windows SDK에서 헤더 파일의 organization 변경되었으며 이 멤버에 대한 가능한 값은 Ws2def.h 헤더 파일에 정의됩니다. Ws2def.h 헤더 파일은 Winsock2.h에 자동으로 포함되며 직접 사용하면 안 됩니다.
현재 지원되는 값은 AF_INETAF_INET6.
값 | 의미 |
---|---|
|
IPv4(인터넷 프로토콜 버전 4) 주소 패밀리입니다. 이 매개 변수를 지정하면 이 함수는 IPv4 항목에 대한 전달 및 TTL 옵션을 설정합니다. |
|
IPv6(인터넷 프로토콜 버전 6) 주소 패밀리입니다. 이 매개 변수를 지정하면 이 함수는 IPv6 항목에 대한 전달 및 TTL 옵션을 설정합니다. |
반환 값
함수가 성공하면 반환 값이 NO_ERROR.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.
반환 코드 | 설명 |
---|---|
|
액세스가 거부되었습니다. 이 오류는 사용자가 로컬 컴퓨터에서 필요한 관리 권한이 없거나 애플리케이션이 기본 제공 관리자(RunAs 관리자)로 향상된 셸에서 실행되고 있지 않음을 포함하는 여러 조건에서 반환됩니다. |
|
잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 nULL 포인터가 pIpStats 매개 변수에 전달되거나 Family 매개 변수가 AF_INET 설정되지 않은 경우 반환되며 AF_INET6. pIpStats 매개 변수가 가리키는 MIB_IPSTATS 구조의 dwForwarding 멤버에 MIB_IP_NOT_FORWARDING, MIB_IP_FORWARDING또는MIB_USE_CURRENT_FORWARDING 이외의 값이 포함된 경우에도 이 오류가 반환됩니다. |
|
요청이 지원되지 않습니다. 이 오류는 로컬 컴퓨터에 IPv4 스택이 없고 Family 매개 변수에 AF_INET 지정되었거나 로컬 컴퓨터에 IPv6 스택이 없고 AF_INET6 Family 멤버에 지정된 경우 반환됩니다. |
|
FormatMessage를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다. |
설명
기본 TTL만 설정하기 위해 호출자는 SetIpTTL 함수를 사용할 수도 있습니다.
SetIpStatisticsEx 함수는 Administrators 그룹의 구성원으로 로그온한 사용자만 호출할 수 있습니다. Administrators 그룹의 구성원이 아닌 사용자가 SetIpStatisticsEx 를 호출하면 함수 호출이 실패하고 ERROR_ACCESS_DENIED 반환됩니다.
Windows Vista 이상에서 UAC(사용자 계정 제어)로 인해 SetIpStatisticsEx 함수가 실패할 수도 있습니다. 이 함수를 포함하는 애플리케이션이 기본 제공 관리자가 아닌 Administrators 그룹의 구성원으로 로그온한 사용자에 의해 실행되는 경우 애플리케이션이 requireAdministrator로 설정된 requestedExecutionLevel 이 매니페스트 파일에 표시되지 않는 한 이 호출은 실패합니다. 애플리케이션에 이 매니페스트 파일이 없는 경우 기본 제공 관리자가 아닌 Administrators 그룹의 구성원으로 로그온한 사용자는 이 함수가 성공하려면 기본 제공 관리자(RunAs 관리자)로 향상된 셸에서 애플리케이션을 실행해야 합니다.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | iphlpapi.h |
라이브러리 | Iphlpapi.lib |
DLL | Iphlpapi.dll |