Freigeben über


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:

Wert Bedeutung
RESOURCE_CONNECTED
Aufzählen aller aktuell verbundenen Ressourcen. Die Funktion ignoriert den dwUsage Parameter. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
RESOURCE_CONTEXT
Aufzählen sie nur Ressourcen im Netzwerkkontext des Aufrufers. Geben Sie diesen Wert für eine Netzwerkviertelansicht an. Die Funktion ignoriert den dwUsage Parameter.
RESOURCE_GLOBALNET
Aufzählen aller Ressourcen im Netzwerk.
RESOURCE_REMEMBERED
Alle gespeicherten (persistenten) Verbindungen aufzählen. Die Funktion ignoriert den dwUsage Parameter.

[in] dwType

Ressourcentypen, die aufgezählt werden sollen. Dieser Parameter kann eine Kombination aus den folgenden Werten sein.

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 aufzählen.

[in] dwUsage

Ressourcenverwendungstyp, der aufgezählt werden soll. Dieser Parameter kann eine Kombination aus den folgenden Werten sein.

Wert Bedeutung
0
Alle Ressourcen.
RESOURCEUSAGE_CONNECTABLE
Alle verbindungsfähigen Ressourcen.
RESOURCEUSAGE_CONTAINER
Alle Containerressourcen.
RESOURCEUSAGE_ATTACHED
Wenn Sie diesen Wert festlegen, wird WNetOpenEnum- fehlschlagen, wenn der Benutzer nicht authentifiziert ist. Die Funktion schlägt fehl, auch wenn das Netzwerk eine Aufzählung ohne Authentifizierung zulässt.
RESOURCEUSAGE_ALL
Das Festlegen dieses Werts entspricht dem Festlegen von 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 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
ERROR_NOT_CONTAINER
Der parameter lpNetResource verweist nicht auf einen Container.
ERROR_INVALID_PARAMETER
Entweder der dwScope- oder der 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 zum Abrufen einer Beschreibung des Fehlers die WNetGetLastError--Funktion auf.
ERROR_INVALID_ADDRESS
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

NETRESOURCE-

WNetCloseEnum

WNetEnumResource-

übersicht über Windows Networking (WNet)

Windows-Netzwerkfunktionen