Condividi tramite


Creazione di un'applicazione helper IP di base

Per creare un'applicazione helper IP di base

  1. Creare un nuovo progetto vuoto.

  2. Aggiungere un file di origine C++ vuoto al progetto.

  3. Assicurarsi che l'ambiente di compilazione faccia riferimento alle directory Include, Lib e Src del Platform Software Development Kit (SDK).

  4. Assicurarsi che l'ambiente di compilazione si collega al file della libreria helper IP Iphlpapi.lib e al file della libreria Winsock WS2_32.lib.

    Nota

    Alcune funzioni Winsock di base vengono usate per restituire i valori degli indirizzi IP e altre informazioni.

     

  5. Iniziare a programmare l'applicazione Helper IP. Usare l'API helper IP includendo il file di intestazione dell'helper IP.

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

    Nota

    Il file di intestazione Iphlpapi.h è necessario per le applicazioni che usano le funzioni helper IP. Il file di intestazione Iphlpapi.h include automaticamente altri file di intestazioni con strutture ed enumerazioni usate dalle funzioni helper IP.

    Le nuove funzioni helper IP introdotte in Windows Vista e successive sono definite nel file di intestazione Netioapi.h che viene automaticamente incluso dal file di intestazione Iphlpapi.h . Il file di intestazione Netioapi.h non deve mai essere usato direttamente.

    Molte delle strutture e delle enumerazioni usate dalle funzioni helper IP sono definite nei file di intestazione Iprtrmib.h, Ipexport.h e Iptypes.h . Questi file di intestazione vengono inclusi automaticamente nel file di intestazione Iphlpapi.h e non devono mai essere usati direttamente.

    In Microsoft Windows Software Development Kit (SDK) rilasciato per Windows Vista e versioni successive, l'organizzazione dei file di intestazione è stata modificata. Alcune delle strutture sono ora definite nei file di intestazione Ipmib.h, Tcpmib.h e Udpmib.h , non nel file di intestazione Iprtrmib.h . Il file di intestazione Ipmib.h include automaticamente il file di intestazione Ifmib.h . Si noti che questi file di intestazione vengono inclusi automaticamente in Iprtrmib.h, inclusi automaticamente nel file di intestazione Iphlpapi.h .

    Il file di intestazione Winsock2.h per Windows Sockets 2.0 è richiesto dalla maggior parte delle applicazioni usando le API helper IP. Quando è necessario il file di intestazione Winsock2.h , la riga #include per questo file deve essere posizionata prima della riga #include per il file di intestazione Iphlpapi.h .

    Il file di intestazione Winsock2.h include internamente elementi principali del file di intestazione Windows.h , pertanto non esiste in genere una riga #include per il file di intestazione Windows.h nelle applicazioni helper IP. Se è necessaria una riga di #include per il file di intestazione Windows.h , questa operazione deve essere preceduta dalla macro #define WIN32_LEAN_AND_MEAN. Per motivi cronologici, l'intestazione Windows.h è predefinita per includere il file di intestazione Winsock.h per Windows Sockets 1.1. Le dichiarazioni nel file di intestazione Winsock.h per Windows Sockets 1.1 sono in conflitto con le dichiarazioni nel file di intestazione Winsock2.h richiesto da Windows Sockets 2.0. La macro WIN32_LEAN_AND_MEAN impedisce l'inserimento del file di intestazione Winsock.h dal file di intestazione Windows.h . Di seguito è illustrato un esempio.

     

    #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;
    }
    
    

    Nota

    Questa applicazione helper IP di base usa solo alcune strutture di dati degli indirizzi IP e l'indirizzo IP per le funzioni di conversione stringa da Windows Sockets 2.0. Queste funzioni di Windows Sockets possono essere usate senza chiamare WSAStartup per inizializzare le risorse di Windows Sockets e WSACleanup quando si usano queste risorse.

    Nelle applicazioni helper IP che usano altre funzioni Winsock diverse da questi indirizzi IP alle funzioni stringa, la funzione WSAStartup deve essere chiamata per inizializzare le risorse di Windows Sockets prima di chiamare le funzioni di Windows Sockets e WSACleanup quando l'applicazione viene eseguita usando le risorse di Windows Sockets.

     

    Nota

    Il file di intestazione Stdio.h è necessario per l'uso di varie funzioni C standard in questa applicazione helper IP di base.

     

    Passaggio successivo: Recupero di informazioni tramite GetNetworkParams