다음을 통해 공유


기본 IP 도우미 애플리케이션 만들기

기본 IP 도우미 애플리케이션을 만들려면

  1. 빈 프로젝트를 새로 만듭니다.

  2. 프로젝트에 빈 C++ 원본 파일을 추가합니다.

  3. 빌드 환경이 SDK(플랫폼 소프트웨어 개발 키트)의 Include, Lib 및 Src 디렉터리를 참조하는지 확인합니다.

  4. 빌드 환경이 IP 도우미 라이브러리 파일 Iphlpapi.lib 및 Winsock 라이브러리 파일 WS2_32.lib에 연결되는지 확인합니다.

    참고

    일부 기본 Winsock 함수는 IP 주소 값 및 기타 정보를 반환하는 데 사용됩니다.

     

  5. IP 도우미 애플리케이션 프로그래밍을 시작합니다. IP 도우미 헤더 파일을 포함하여 IP 도우미 API를 사용합니다.

    #include <winsock2.h>
    #include <iphlpapi.h>
    #include <stdio.h>
    
    int main() {
      return 0;
    }
    
    

    참고

    Iphlpapi.h 헤더 파일은 IP 도우미 함수를 사용하는 애플리케이션에 필요합니다. Iphlpapi.h 헤더 파일에는 IP 도우미 함수에서 사용하는 구조 및 열거형이 있는 다른 헤더 파일이 자동으로 포함됩니다.

    Windows Vista 이상에서 도입된 새 IP 도우미 함수는 Iphlpapi.h 헤더 파일에 의해 자동으로 포함되는 Netioapi.h 헤더 파일에 정의됩니다. Netioapi.h 헤더 파일은 직접 사용하면 안 됩니다.

    IP 도우미 함수에서 사용하는 많은 구조체 및 열거형은 Iprtrmib.h, Ipexport.hIptypes.h 헤더 파일에 정의됩니다. 이러한 헤더 파일은 Iphlpapi.h 헤더 파일에 자동으로 포함되며 직접 사용하면 안 됩니다.

    Windows Vista 이상용으로 릴리스된 Microsoft Windows SDK(소프트웨어 개발 키트)에서 헤더 파일의 organization 변경되었습니다. 일부 구조체는 이제 Iprtrmib.h 헤더 파일이 아닌 Ipmib.h, Tcpmib.hUdpmib.h 헤더 파일에 정의됩니다. Ipmib.h 헤더 파일에는 Ifmib.h 헤더 파일이 자동으로 포함됩니다. 이러한 헤더 파일은 Iphlpapi.h 헤더 파일에 자동으로 포함되는 Iprtrmib.h에 자동으로 포함됩니다.

    Windows Sockets 2.0용 Winsock2.h 헤더 파일은 대부분의 애플리케이션에서 IP 도우미 API를 사용하는 데 필요합니다. Winsock2.h 헤더 파일이 필요한 경우 이 파일의 #include 줄을 Iphlpapi.h 헤더 파일의 #include 줄 앞에 배치해야 합니다.

    Winsock2.h 헤더 파일은 내부적으로 Windows.h 헤더 파일의 핵심 요소를 포함하므로 일반적으로 IP 도우미 애플리케이션에는 Windows.h 헤더 파일에 대한 #include 줄이 없습니다. Windows.h 헤더 파일에 #include 줄이 필요한 경우 앞에 #define WIN32_LEAN_AND_MEAN 매크로가 있어야 합니다. 기록상의 이유로 Windows.h 헤더는 기본적으로 Windows Sockets 1.1에 대한 Winsock.h 헤더 파일을 포함합니다. Windows Sockets 1.1에 대한 Winsock.h 헤더 파일의 선언은 Windows Sockets 2.0에 필요한 Winsock2.h 헤더 파일의 선언과 충돌합니다. WIN32_LEAN_AND_MEAN 매크로를 사용하면 Winsock.h 헤더 파일이 Windows.h 헤더 파일에 포함되지 않습니다. 이를 보여 주는 예제는 다음과 같습니다.

     

    #ifndef WIN32_LEAN_AND_MEAN
    #define WIN32_LEAN_AND_MEAN
    #endif
    
    #include <windows.h>
    
    #include <winsock2.h>
    #include <iphlpapi.h>
    #include <stdio.h>
    
    int main() {
      return 0;
    }
    
    

    참고

    이 기본 IP 도우미 애플리케이션은 일부 IP 주소 데이터 구조와 IP 주소만 Windows Sockets 2.0의 문자열 변환 함수로 사용합니다. 이러한 Windows 소켓 함수는 WSAStartup 을 호출하지 않고도 이러한 리소스를 사용하여 Windows 소켓 리소스 및 WSACleanup 을 초기화하지 않고도 사용할 수 있습니다.

    이러한 IP 주소 이외의 다른 Winsock 함수를 문자열 함수에 사용하는 IP 도우미 애플리케이션에서는 Windows 소켓 함수를 호출하기 전에 WSAStartup 함수를 호출하여 Windows 소켓 리소스를 초기화해야 하며, Windows 소켓 리소스를 사용하여 애플리케이션을 수행할 때 WSACleanup 을 호출해야 합니다.

     

    참고

    이 기본 IP 도우미 애플리케이션에서 다양한 표준 C 함수를 사용하려면 Stdio.h 헤더 파일이 필요합니다.

     

    다음 단계: GetNetworkParams를 사용하여 정보 검색