WNetOpenEnumA-Funktion (winnetwk.h)
Die WNetOpenEnum-Funktion startet eine Aufzählung von Netzwerkressourcen oder vorhandenen Verbindungen. Sie können die Aufzählung fortsetzen, indem Sie die funktion WNetEnumResource aufrufen.
Syntax
DWORD WNetOpenEnumA(
[in] DWORD dwScope,
[in] DWORD dwType,
[in] DWORD dwUsage,
[in] LPNETRESOURCEA lpNetResource,
[out] LPHANDLE lphEnum
);
Parameter
[in] dwScope
Bereich der Aufzählung. Dieser Parameter kann einer der folgenden Werte sein:
[in] dwType
Ressourcentypen, die aufgezählt werden sollen. Dieser Parameter kann eine Kombination aus den folgenden Werten sein.
Wenn ein Netzwerkanbieter nicht zwischen Druck- und Datenträgerressourcen unterscheiden kann, kann er alle Ressourcen aufzählen.
[in] dwUsage
Ressourcenverwendungstyp, der aufgezählt werden soll. Dieser Parameter kann eine Kombination aus den folgenden Werten sein.
Dieser Parameter wird ignoriert, es sei denn, der dwScope Parameter ist gleich RESOURCE_GLOBALNET. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
[in] lpNetResource
Zeiger auf eine NETRESOURCE--Struktur, die den zu enumerierenden Container angibt. Wenn der parameter dwScope nicht RESOURCE_GLOBALNET ist, muss dieser Parameter NULL-sein.
Wenn dieser Parameter NULL-ist, wird der Stamm des Netzwerks angenommen. (Das System organisiert ein Netzwerk als Hierarchie; der Stamm ist der oberste Container im Netzwerk.)
Wenn dieser Parameter nicht NULL-ist, muss er auf eine NETRESOURCE- Struktur verweisen. Diese Struktur kann von der Anwendung ausgefüllt werden, oder sie kann durch einen Aufruf der WNetEnumResource-funktion zurückgegeben werden. Die NETRESOURCE--Struktur muss eine Containerressource angeben; d. h. der wert RESOURCEUSAGE_CONTAINER muss im dwUsage Parameter angegeben werden.
Um alle Netzwerkressourcen aufzulisten, kann eine Anwendung mit der Enumeration beginnen, indem sie WNetOpenEnum- mit dem lpNetResource Parameter auf NULL-festgelegt wird, und dann das zurückgegebene Handle zum Aufrufen WNetEnumResource- zum Aufzählen von Ressourcen verwenden. Wenn eine der Ressourcen im NETRESOURCE Array, das von der WNetEnumResource-Funktion zurückgegeben wird, eine Containerressource ist, können Sie WNetOpenEnum- aufrufen, um die Ressource für eine weitere Enumeration zu öffnen.
[out] lphEnum
Zeiger auf ein Aufzählungshandle, das in einem nachfolgenden Aufruf von WNetEnumResource-verwendet werden kann.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode, z. B. einer der folgenden Werte.
Rückgabecode | Beschreibung |
---|---|
|
Der parameter lpNetResource verweist nicht auf einen Container. |
|
Entweder der dwScope- oder der dwType Parameter ist ungültig, oder es gibt eine ungültige Kombination von Parametern. |
|
Das Netzwerk ist nicht verfügbar. |
|
Es ist ein netzwerkspezifischer Fehler aufgetreten. Rufen Sie zum Abrufen einer Beschreibung des Fehlers die WNetGetLastError--Funktion auf. |
|
Ein im NETRESOURCE- Struktur angegebener Remotenetzwerkressourcenname wurde in eine ungültige Netzwerkadresse aufgelöst. |
Bemerkungen
Wenn der dwScope-Parameter gleich RESOURCE_CONNECTED ist, wird eine Netzwerkverbindung, die mit dem Microsoft LAN Manager-Netzwerk hergestellt wurde, von der Enumeration weggelassen, wenn die Verbindung von einer Anwendung hergestellt wurde, die in einer anderen Anmeldesitzung ausgeführt wird als die Anwendung, die die WNetOpenEnum Funktion aufruft. Dies liegt daran, dass Verbindungen, die mit Microsoft LAN Manager hergestellt werden, nur für Anwendungen sichtbar sind, die in derselben Anmeldesitzung ausgeführt werden wie die Anwendung, die die Verbindung hergestellt hat. (Um die Verbindung in die Enumeration einzuschließen, reicht es nicht aus, dass die Anwendung im Benutzerkonto ausgeführt wird, das die Verbindung erstellt hat.)
Die genaue Interpretation von RESOURCE_CONTEXT im dwScope Parameter hängt von den auf dem Computer installierten Netzwerken ab.
Die WNetOpenEnum-Funktion wird verwendet, um mit der Enumeration der Ressourcen in einem einzelnen Container zu beginnen. Die folgenden Beispiele zeigen die hierarchische Struktur eines Microsoft LAN Manager-Netzwerks und eines Novell NetWare-Netzwerks und identifizieren die Container.
LanMan (container, in this case the provider)
ACCOUNTING (container, in this case the domain)
\\ACCTSPAY (container, in this case the server)
PAYFILES (disk)
LASERJET (print)
NetWare (container, in this case the provider)
MARKETING (container, in this case the server)
SYS (disk, first one on any NetWare server)
ANOTHERVOLUME (disk)
LASERJET (print)
Beispiele
Ein Codebeispiel, das eine anwendungsdefinierte Funktion veranschaulicht, die alle Ressourcen in einem Netzwerk aufzählt, finden Sie unter Aufzählen von Netzwerkressourcen.
Anmerkung
Der winnetwk.h-Header definiert WNetOpenEnum als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winnetwk.h |
Library | Mpr.lib |
DLL- | Mpr.dll |
Siehe auch
übersicht über Windows Networking (WNet)