Creación de una aplicación auxiliar de IP básica
Para crear una aplicación auxiliar de IP básica
Cree un nuevo proyecto vacío.
Agregue un archivo de origen de C++ vacío al proyecto.
Asegúrese de que el entorno de compilación hace referencia a los directorios Include, Lib y Src del Kit de desarrollo de software de plataforma (SDK).
Asegúrese de que el entorno de compilación se vincula al archivo ip helper Library Iphlpapi.lib y al archivo de biblioteca winsock WS2_32.lib.
Nota
Algunas funciones básicas de Winsock se usan para devolver valores de dirección IP y otra información.
Comience a programar la aplicación auxiliar de IP. Use la API del asistente de IP mediante la inclusión del archivo de encabezado del asistente de IP.
#include <winsock2.h> #include <iphlpapi.h> #include <stdio.h> int main() { return 0; }
Nota
El archivo de encabezado Iphlpapi.h es necesario para las aplicaciones que usan las funciones auxiliares de IP. El archivo de encabezado Iphlpapi.h incluye automáticamente otros archivos de encabezados con estructuras y enumeraciones usadas por las funciones auxiliares de IP.
Las nuevas funciones auxiliares de IP introducidas en Windows Vista y posteriores se definen en el archivo de encabezado Netioapi.h que el archivo de encabezado Iphlpapi.h incluye automáticamente. El archivo de encabezado Netioapi.h nunca debe usarse directamente.
Muchas de las estructuras y enumeraciones usadas por las funciones auxiliares de IP se definen en los archivos de encabezado Iprtrmib.h, Ipexport.h e Iptypes.h . Estos archivos de encabezado se incluyen automáticamente en el archivo de encabezado Iphlpapi.h y nunca se deben usar directamente.
En el Kit de desarrollo de software (SDK) de Microsoft Windows publicado para Windows Vista y versiones posteriores, la organización de los archivos de encabezado ha cambiado. Algunas de las estructuras se definen ahora en los archivos de encabezado Ipmib.h, Tcpmib.h y Udpmib.h , no en el archivo de encabezado Iprtrmib.h . El archivo de encabezado Ipmib.h incluye automáticamente el archivo de encabezado Ifmib.h . Tenga en cuenta que estos archivos de encabezado se incluyen automáticamente en Iprtrmib.h, que se incluye automáticamente en el archivo de encabezado Iphlpapi.h .
La mayoría de las aplicaciones requieren el archivo de encabezado Winsock2.h para Windows Sockets 2.0 mediante las API del asistente de IP. Cuando se requiere el archivo de encabezado Winsock2.h , la línea #include para este archivo debe colocarse antes de la línea #include para el archivo de encabezado Iphlpapi.h .
El archivo de encabezado Winsock2.h incluye internamente elementos principales del archivo de encabezado Windows.h , por lo que normalmente no hay una línea de #include para el archivo de encabezado Windows.h en aplicaciones auxiliares de IP. Si se necesita una línea #include para el archivo de encabezado Windows.h , debe ir precedida de la macro #define WIN32_LEAN_AND_MEAN. Por motivos históricos, el encabezado Windows.h tiene como valor predeterminado incluir el archivo de encabezado Winsock.h para Windows Sockets 1.1. Las declaraciones del archivo de encabezado Winsock.h para Windows Sockets 1.1 entrarán en conflicto con las declaraciones del archivo de encabezado Winsock2.h requerido por Windows Sockets 2.0. La macro WIN32_LEAN_AND_MEAN impide que el archivo de encabezado Winsock.h se incluya en el archivo de encabezado Windows.h . A continuación se muestra un ejemplo que ilustra esto.
#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
Esta aplicación auxiliar de IP básica solo usa algunas estructuras de datos de dirección IP y dirección IP para las funciones de conversión de cadenas de Windows Sockets 2.0. Estas funciones de Windows Sockets se pueden usar sin llamar a WSAStartup para inicializar los recursos de Windows Sockets y WSACleanup cuando haya terminado de usar estos recursos.
En las aplicaciones auxiliares de IP que usan otras funciones de Winsock que no sean estas direcciones IP para las funciones de cadena, se debe llamar a la función WSAStartup para inicializar los recursos de Windows Sockets antes de llamar a las funciones de Windows Sockets y A WSACleanup cuando la aplicación se realiza mediante recursos de Windows Sockets.
Nota
El archivo de encabezado Stdio.h es necesario para el uso de varias funciones estándar de C en esta aplicación auxiliar de IP básica.
Paso siguiente: Recuperar información mediante GetNetworkParams