Informationen zur Netzwerklisten-Manager-API
Die Microsoft Windows-Netzwerkumgebung ermöglicht es mehreren Computern, gleichzeitig eine Verbindung mit mehreren Netzwerken herzustellen. Es können mehrere drahtlose Netzwerke zusammen mit LAN- und DFÜ-Verbindungen verfügbar sein. Netzwerklisten-Manager identifiziert verfügbare Netzwerke und gibt Netzwerkattributedaten an die Anwendung zurück.
Die Netzwerklisten-Manager-API interagiert mit dem Netzwerklisten-Manager-Dienst, um Eigenschaften jedes Netzwerks zu identifizieren und abzurufen, mit dem der PC eine Verbindung herstellt. Jedes Netzwerk wird anhand der eindeutig identifizierbaren Eigenschaften dieses Netzwerks mit einer Netzwerksignatur eindeutig identifiziert. Wenn sich eine Anwendung für Netzwerklisten-Manager-Benachrichtigungen registriert, empfängt die Anwendung Benachrichtigungen über die Verfügbarkeit neuer Netzwerkverbindungen oder Änderungen an vorhandenen Netzwerkverbindungen. Anwendungen können ihre Logik anpassen, je nachdem, mit welchem Netzwerk sie verbunden sind; mit welcher Netzwerkverbindung sie verbunden sind; oder gibt an, wie die Netzwerkeigenschaften sind. Mit diesen Informationen können Anwendungen ihre Aktionen basierend auf den aktuellen Netzwerkbedingungen optimieren.
Windows Vista führt neue Schnittstellen ein, die verwendet werden können, um detaillierte Informationen zu diesen Netzwerkmerkmalen und mehr zu erhalten. Mit der INetworkListManager-Schnittstelle ist es einfach, alle Netzwerke (INetwork) aufzulisten, die ein Computer jemals gesehen hat, oder nur die verbundenen Netzwerke oder nur die getrennten Netzwerke. Die INetworkListManager-Schnittstelle erleichtert auch das Aufzählen der Netzwerkschnittstellen auf einem Computer.
Die INetwork-Schnittstelle wird verwendet, um die Eigenschaften einer Netzwerkverbindung zu bestimmen: Name, Beschreibung, ID, verwaltet/authentifiziert, verbunden/getrennt und vieles mehr. Es ist möglich, dass ein einzelnes Netzwerk mit mehreren Schnittstellen verbunden ist, sodass Sie über eine INetwork-Schnittstelle auch die Instanzen der verwendeten INetwork-Schnittstelle aufzählen können.
Die INetwork-Schnittstelle informiert Sie über die relevanten Eigenschaften einer Schnittstelle: ID, GUID, Typ (verwaltet, authentifiziert) und Zustand (verbunden, getrennt, V4 Lokal, V4 Internet, V6 Lokal, V6 Internet). V4 Lokal bedeutet, dass IPv4-Zugriff (Internet Protocol Version 4) lokal ist. V4 Internet bedeutet IPv4 mit Internetzugang. V6 Local und V6 Internet bedeuten IPv6.
Der Stamm der Objektstruktur für Netzwerkspeicherort ist die INetworkListManager-Schnittstelle . Diese Schnittstelle wird in der CLSID_NetworkListManager Co-Klasse implementiert. Um diese Schnittstelle verwenden zu können, muss das CLSID_NetworkListManager COM-Objekt wie gezeigt erstellt werden:
#include <windows.h>
#include <netlistmgr.h>
#pragma comment(lib, "ole32.lib")
void main()
{
INetworkListManager *pNetworkListManager = NULL;
HRESULT hr = CoCreateInstance(CLSID_NetworkListManager, NULL,
CLSCTX_ALL, IID_INetworkListManager,
(LPVOID *)&pNetworkListManager);
}