La clase Win32_NetworkAdapterConfiguration es no se puede recuperar información acerca de PPPoE (Protocolo punto a punto sobre Ethernet) y VPN (red privada Virtual).


Síntomas


En Windows Vista y versiones posteriores, la clase Win32_NetworkAdapterConfiguration es incapaz de recuperar información acerca de una conexión PPPoE y la conexión VPN.
Si un programa está diseñado para obtener la información sobre la conexión de acceso telefónico o una red privada virtual mediante la clase Win32_NetworkAdapterConfiguration en Windows XP, es posible que no funcione en Windows Vista y versiones posteriores.

Para obtener más información acerca de la clase Win32_NetworkAdapterConfiguration, consulte la siguiente documentación de MSDN:

Clase Win32_NetworkAdapterConfiguration
http://msdn.microsoft.com/en-us/library/aa394217(VS.85).aspx

Causa


En Windows Vista y versiones posteriores, la clase Win32_NetworkAdapterConfiguration no crea una instancia de una conexión VPN o una conexión PPPoE.
Microsoft ha confirmado que esto sea un problema en nuestro producto.

Solución


En Windows Vista y versiones posteriores, puede recuperar casi la misma información, como la clase de Win32_NetworkAdapterConfigurationthe sobre una conexión VPN o la conexión PPPoE utilizando cualquiera de los métodos siguientes.
Lo Valoraremos enormemente si considera que cualquiera de los siguientes método es aceptable.


1. Utilice la clase NetworkInterface de.NET Framework.

Utilice el método NetworkInterface.GetAllNetworkInterfaces para obtener una matriz NetworkInterface. A continuación, recorra la matriz NetworkInterface para buscar una instancia NetworkInterface que tiene la propiedad NetworkInterface.NetworkInterfaceType establecida como Ppp. Cada valor de una conexión PPPoE o VPN se puede recuperar mediante una referencia a cada propiedad que tiene esta instancia.

Para obtener más información sobre la clase NetworkInterface o el código de ejemplo para esto, consulte la siguiente documentación de MSDN:

NetworkInterface (clase)
http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface(VS.85).aspx

Para obtener más información sobre cada propiedad de la clase NetworkInterface, consulte la siguiente documentación de MSDN:

NetworkInterface propiedades
http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface_properties(VS.85).aspx


2. Utilice la API GetAdaptersAddresses.

Utilice la API GetAdaptersAddresses para obtener la estructura IP_ADAPTER_ADDRESSES. A continuación, recorrer la lista vinculada de estructuras IP_ADAPTER_ADDRESSES para encontrar un elemento que tiene el miembro IfType establecido como IF_TYPE_PPP. Cada valor de una conexión PPPoE o VPN se puede recuperar mediante una referencia a cada miembro del elemento.

Para obtener más información sobre la API de GetAdaptersAddresses o el código de ejemplo para esto, consulte la siguiente documentación de MSDN:

Función GetAdaptersAddresses
http://msdn.microsoft.com/en-us/library/aa365915(VS.85).aspx

Para obtener más información sobre cada miembro de la estructura IP_ADAPTER_ADDRESSES, consulte la siguiente documentación de MSDN:

Estructura IP_ADAPTER_ADDRESSES
http://msdn.microsoft.com/en-us/library/aa366058(VS.85).aspx