共用方式為


建立基本 IP 協助程式應用程式

建立基本 IP 協助程式應用程式

  1. 建立新的空白專案。

  2. 將空的 C++ 原始程式檔新增至專案。

  3. 請確定組建環境參考 Platform Software Development Kit (SDK) 的 Include、Lib 和 Src 目錄。

  4. 確定建置環境連結至 IP 協助程式程式庫檔案 Iphlpapi.lib 和 Winsock Library 檔案WS2_32.lib。

    注意

    某些基本的 Winsock 函式可用來傳回 IP 位址值和其他資訊。

     

  5. 開始設計 IP 協助程式應用程式。 包含 IP 協助程式標頭檔,以使用 IP 協助程式 API。

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

    注意

    使用 IP 協助程式函式的應用程式需要 Iphlpapi.h 標頭檔。 Iphlpapi.h標頭檔會自動包含其他標頭檔案,其中包含 IP 協助程式函式所使用的結構和列舉。

    Windows Vista 和更新版本中引進的新 IP 協助程式函式定義在 Netioapi.h 標頭檔中, Iphlpapi.h 標頭檔會自動包含。 Netioapi.h標頭檔絕對不應該直接使用。

    IP 協助程式函式所使用的許多結構和列舉定義于 Iprtrmib.hIpexport.hIptypes.h 標頭檔中。 這些標頭檔會自動包含在 Iphlpapi.h 標頭檔中,不應直接使用。

    在 Microsoft Windows 軟體發展工具組 (SDK) 針對 Windows Vista 和更新版本發行,標頭檔的組織已變更。 某些結構現在定義于 Ipmib.hTcpmib.hUdpmib.h 標頭檔中,而不是 在 Iprtrmib.h 標頭檔中。 Ipmib.h標頭檔會自動包含Ifmib.h標頭檔。 請注意,這些標頭檔會自動包含在 Iprtrmib.h中,該標頭檔會自動包含在 Iphlpapi.h 標頭檔中。

    使用 IP 協助程式 API 的大部分應用程式都需要 Windows Sockets 2.0 的 Winsock2.h 標頭檔。 需要 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宏可防止Windows.h標頭檔包含Winsock.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 Sockets 函式不需要呼叫 WSAStartup ,即可在使用這些資源時初始化 Windows Sockets 資源和 WSACleanup

    在使用這些 IP 位址以外的其他 Winsock 函式字串函式的 IP 協助程式應用程式中,必須先呼叫 WSAStartup 函式來初始化 Windows Sockets 資源,才能呼叫任何 Windows Sockets 函式,並在應用程式使用 Windows Sockets 資源完成時呼叫 WSACleanup

     

    注意

    需要 Stdio.h標頭檔,才能在此基本 IP 協助程式應用程式中使用各種標準 C 函式。

     

    下一個步驟: 使用 GetNetworkParams 擷取資訊