Freigeben über


NPOpenEnum-Funktion (npapi.h)

Öffnet eine Enumeration von Netzwerkressourcen oder vorhandenen Verbindungen. Die NPOpenEnum-Funktion muss aufgerufen werden, um ein gültiges Handle für eine Enumeration zu erhalten.

Syntax

DWORD NPOpenEnum(
  [in]  DWORD          dwScope,
  [in]  DWORD          dwType,
  [in]  DWORD          dwUsage,
  [in]  LPNETRESOURCEW lpNetResource,
  [out] LPHANDLE       lphEnum
);

Parameter

[in] dwScope

Bestimmt den Bereich der Enumeration. Dies kann einer der folgenden Sein.

Wert Bedeutung
RESOURCE_CONNECTED
Alle derzeit verbundenen Ressourcen.
RESOURCE_GLOBALNET
Alle Ressourcen im Netzwerk.
RESOURCE_CONTEXT
Die Ressourcen, die dem aktuellen und dem Standardnetzwerkkontext des Benutzers zugeordnet sind (verwendet für die Ansicht "Netzwerkumgebung"). Die Interpretation bleibt dem Anbieter überlassen.

[in] dwType

Gibt den Typ der relevanten Ressourcen an. Dies ist eine Bitmaske, die eine beliebige Kombination der folgenden Flags sein kann.

Wert Bedeutung
RESOURCETYPE_DISK
Alle Datenträgerressourcen.
RESOURCETYPE_PRINT
Alle Druckressourcen.
RESOURCEUSAGE_ATTACHED
Gibt an, dass die Funktion fehlschlagen soll, wenn der Aufrufer nicht authentifiziert ist (auch wenn das Netzwerk die Enumeration ohne Authentifizierung zulässt).
 

Wenn dwType 0 oder nur RESOURCEUSAGE_ATTACHED ist, werden alle Ressourcentypen zurückgegeben. Wenn ein Anbieter nicht in der Lage ist, zwischen Druck- und Datenträgerressourcen auf derselben Ebene zu unterscheiden, gibt er möglicherweise alle Ressourcen zurück.

[in] dwUsage

Gibt die Verwendung von Ressourcen von Interessierten an. Dies ist eine Bitmaske, die eine beliebige Kombination der folgenden Flags sein kann.

Wert Bedeutung
RESOURCEUSAGE_CONNECTABLE
Alle anschließbaren Ressourcen
RESOURCEUSAGE_CONTAINER
Alle Containerressourcen
 

Die Bitmaske kann null sein, um allen Flags zu entsprechen. Dieser Parameter kann ignoriert werden, wenn dwScope nicht auf RESOURCE_GLOBALNET festgelegt ist.

[in] lpNetResource

Zeiger auf den Container, um die Enumeration auszuführen. Die NETRESOURCE könnte über einen vorherigen NPEnumResource-Aufruf abgerufen oder vom Aufrufer erstellt worden sein, oder sie kann NULL sein. Wenn es NULL ist oder wenn das Feld lpRemoteName der NETRESOURCENULL ist, sollte der Anbieter die oberste Ebene seines Netzwerks auflisten. Beachten Sie, dass dies bedeutet, dass ein Anbieter keinen lpRemoteName von NULL verwenden kann, um eine Netzwerkressource darzustellen. Ein Aufrufer ruft normalerweise NPOpenEnum auf, wobei dieser Parameter auf NULL festgelegt ist, und verwendet dann die zurückgegebenen Ergebnisse für eine weitere Enumeration. Wenn das aufrufende Programm genau den Anbieter und den Remotepfad kennt, von dem aufgezählt werden soll, erstellt es möglicherweise eine eigene NETRESOURCE-Struktur , die übergeben werden soll, und füllt die Felder lpProvider und lpRemoteName aus. Beachten Sie, dass dieser Parameter NULL ist, wenn dwScope RESOURCE_CONNECTED oder RESOURCE_CONTEXT ist.

[out] lphEnum

Zeiger auf ein Handle, das von der NPEnumResource-Funktion verwendet werden kann. Wenn Sie die Verwendung des Handles abgeschlossen haben, lassen Sie das Handle los, indem Sie die NPCloseEnum-Funktion aufrufen.

Rückgabewert

Wenn die Funktion erfolgreich ist, sollte sie WN_SUCCESS zurückgeben. Andernfalls sollte ein Fehlercode zurückgegeben werden, der einen der folgenden Elemente enthalten kann.

Rückgabecode Beschreibung
WN_NOT_SUPPORTED
Der Anbieter unterstützt den angeforderten Enumerationstyp nicht, oder die spezifische Netzwerkressource kann nicht durchsucht werden.
WN_NOT_CONTAINER
lpNetResource verweist nicht auf einen Container.
WN_BAD_VALUE
Es wird eine ungültige DwScope-, dwUsage- oder dwType-Kombination oder eine ungültige Kombination von Parametern angegeben.
WN_NO_NETWORK
Das Netzwerk ist nicht vorhanden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile npapi.h