WNetOpenEnumA-Funktion (winnetwk.h)

Die WNetOpenEnum-Funktion startet eine Enumeration von Netzwerkressourcen oder vorhandenen Verbindungen. Sie können die Enumeration fortsetzen, indem Sie die WNetEnumResource-Funktion aufrufen.

Syntax

DWORD WNetOpenEnumA(
  [in]  DWORD          dwScope,
  [in]  DWORD          dwType,
  [in]  DWORD          dwUsage,
  [in]  LPNETRESOURCEA lpNetResource,
  [out] LPHANDLE       lphEnum
);

Parameter

[in] dwScope

Bereich der Enumeration. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
RESOURCE_CONNECTED
Listet alle aktuell verbundenen Ressourcen auf. Die Funktion ignoriert den dwUsage-Parameter . Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
RESOURCE_CONTEXT
Listet nur Ressourcen im Netzwerkkontext des Aufrufers auf. Geben Sie diesen Wert für eine Netzwerkumgebungsansicht an. Die Funktion ignoriert den dwUsage-Parameter .
RESOURCE_GLOBALNET
Listet alle Ressourcen im Netzwerk auf.
RESOURCE_REMEMBERED
Listet alle gespeicherten (persistenten) Verbindungen auf. Die Funktion ignoriert den dwUsage-Parameter .

[in] dwType

Aufzuzählende Ressourcentypen. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.

Wert Bedeutung
RESOURCETYPE_ANY
Alle Ressourcen. Dieser Wert kann nicht mit RESOURCETYPE_DISK oder RESOURCETYPE_PRINT kombiniert werden.
RESOURCETYPE_DISK
Alle Datenträgerressourcen.
RESOURCETYPE_PRINT
Alle Druckressourcen.
 

Wenn ein Netzwerkanbieter nicht zwischen Druck- und Datenträgerressourcen unterscheiden kann, kann er alle Ressourcen auflisten.

[in] dwUsage

Ressourcennutzungstyp, der aufgelistet werden soll. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.

Wert Bedeutung
0
Alle Ressourcen.
RESOURCEUSAGE_CONNECTABLE
Alle anschließbaren Ressourcen.
RESOURCEUSAGE_CONTAINER
Alle Containerressourcen.
RESOURCEUSAGE_ATTACHED
Durch Festlegen dieses Werts wird ein Fehler von WNetOpenEnum erzwungen, wenn der Benutzer nicht authentifiziert ist. Die Funktion schlägt auch dann fehl, wenn das Netzwerk eine Enumeration ohne Authentifizierung zulässt.
RESOURCEUSAGE_ALL
Das Festlegen dieses Werts entspricht dem Festlegen RESOURCEUSAGE_CONNECTABLE, RESOURCEUSAGE_CONTAINER und RESOURCEUSAGE_ATTACHED.
 

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 aufzuzählenden Container angibt. Wenn der dwScope-Parameter 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 oder durch einen Aufruf der WNetEnumResource-Funktion zurückgegeben werden. Die NETRESOURCE-Struktur muss eine Containerressource angeben. Das heißt, der RESOURCEUSAGE_CONTAINER-Wert muss im dwUsage-Parameter angegeben werden.

Um alle Netzwerkressourcen aufzulisten, kann eine Anwendung die Enumeration beginnen, indem sie WNetOpenEnum aufruft , wobei der lpNetResource-Parameter auf NULL festgelegt ist, und dann das zurückgegebene Handle verwenden, um WNetEnumResource aufzurufen, um Ressourcen aufzulisten. 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 Enumerationshandle, 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
ERROR_NOT_CONTAINER
Der lpNetResource-Parameter zeigt nicht auf einen Container.
ERROR_INVALID_PARAMETER
Entweder der dwScope - oder dwType-Parameter ist ungültig, oder es gibt eine ungültige Kombination von Parametern.
ERROR_NO_NETWORK
Das Netzwerk ist nicht verfügbar.
ERROR_EXTENDED_ERROR
Es ist ein netzwerkspezifischer Fehler aufgetreten. Rufen Sie die WNetGetLastError-Funktion auf, um eine Beschreibung des Fehlers zu erhalten.
ERROR_INVALID_ADDRESS
Ein in der NETRESOURCE-Struktur bereitgestellter Remotenetzwerkressourcenname, der in eine ungültige Netzwerkadresse aufgelöst wird.

Hinweise

Wenn der dwScope-Parameter gleich RESOURCE_CONNECTED ist, wird eine Netzwerkverbindung, die über das Microsoft LAN Manager-Netzwerk hergestellt wird, 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 wie die Anwendung ausgeführt werden, die die Verbindung hergestellt hat. (Um die Verbindung in die Enumeration aufzunehmen, reicht es nicht aus, dass die Anwendung in dem 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 die 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 Auflisten von Netzwerkressourcen.

Hinweis

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 nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winnetwk.h
Bibliothek Mpr.lib
DLL Mpr.dll

Weitere Informationen

NETRESOURCE

WNetCloseEnum

WNetEnumResource

Übersicht über Windows-Netzwerke (WNet)

Windows-Netzwerkfunktionen