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.
[in] dwType
Aufzuzählende Ressourcentypen. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.
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.
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 |
---|---|
|
Der lpNetResource-Parameter zeigt nicht auf einen Container. |
|
Entweder der dwScope - oder 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 die WNetGetLastError-Funktion auf, um eine Beschreibung des Fehlers zu erhalten. |
|
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 |