WNetGetResourceInformationA-Funktion (winnetwk.h)

Wenn ein Remotepfad zu einer Netzwerkressource bereitgestellt wird, identifiziert die WNetGetResourceInformation-Funktion den Netzwerkanbieter, der die Ressource besitzt, und ruft Informationen zum Typ der Ressource ab. Die Funktion wird in der Regel in Verbindung mit der WNetGetResourceParent-Funktion verwendet, um einen von einem Benutzer eingegebenen Netzwerkpfad zu analysieren und zu interpretieren.

Syntax

DWORD WNetGetResourceInformationA(
  [in]      LPNETRESOURCEA lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer,
  [out]     LPSTR          *lplpSystem
);

Parameter

[in] lpNetResource

Zeiger auf eine NETRESOURCE-Struktur , die die Netzwerkressource angibt, für die Informationen erforderlich sind.

Das lpRemoteName-Element der -Struktur sollte den Remotepfadnamen der Ressource angeben, der in der Regel von einem Benutzer eingegeben wird. Die Elemente lpProvider und dwType sollten ebenfalls ausgefüllt werden, sofern bekannt, da dieser Vorgang arbeitsspeicherintensiv sein kann, insbesondere wenn Sie den dwType-Member nicht angeben. Wenn Sie die Werte für diese Member nicht kennen, sollten Sie sie auf NULL festlegen. Alle anderen Member der NETRESOURCE-Struktur werden ignoriert.

[out] lpBuffer

Zeiger auf den Puffer, um das Ergebnis zu erhalten. Bei erfolgreicher Rückgabe ist der erste Teil des Puffers eine NETRESOURCE-Struktur , die den Teil des Eingaberessourcenpfads darstellt, auf den über die WNet-Funktionen zugegriffen wird und nicht über Systemfunktionen, die für den Eingaberessourcentyp spezifisch sind. (Der Rest des Puffers enthält die Zeichenfolgen variabler Länge, auf die die Member der NETRESOURCE-Struktur verweisen.)

Wenn der Eingabe-Remoteressourcenpfad beispielsweise \server\share\dir1\dir2 lautet, enthält die NETRESOURCE-Ausgabestruktur Informationen zur Ressource \server\share. Auf den \dir1\dir2-Teil des Pfads wird über die Dateiverwaltungsfunktionen zugegriffen. Die Elemente lpRemoteName, lpProvider, dwType, dwDisplayType und dwUsage von NETRESOURCE werden zurückgegeben, wobei alle anderen Member auf NULL festgelegt sind.

Der lpRemoteName-Member wird in derselben Syntax zurückgegeben wie das element, das von der WNetEnumResource-Funktion aus einer Enumeration zurückgegeben wird. Dadurch kann der Aufrufer einen Zeichenfolgenvergleich durchführen, um zu bestimmen, ob die an WNetGetResourceInformation übergebene Ressource mit der Ressource identisch ist, die von einem separaten Aufruf von WNetEnumResource zurückgegeben wird.

[in, out] lpcbBuffer

Zeiger auf einen Speicherort, der beim Eintrag die Größe des lpBuffer-Puffers in Bytes angibt. Der Puffer, den Sie zuweisen, muss groß genug sein, um die NETRESOURCE-Struktur zu enthalten, sowie die Zeichenfolgen, auf die die Member verweisen. Wenn der Puffer für das Ergebnis zu klein ist, erhält dieser Speicherort die erforderliche Puffergröße, und die Funktion gibt ERROR_MORE_DATA zurück.

[out] lplpSystem

Wenn die Funktion erfolgreich zurückgegeben wird, verweist dieser Parameter auf eine Zeichenfolge im Ausgabepuffer, die den Teil der Ressource angibt, auf den über Systemfunktionen zugegriffen wird. (Dies gilt nur für Funktionen, die für den Ressourcentyp und nicht für die WNet-Funktionen spezifisch sind.)

Wenn beispielsweise der Name der Eingabe-Remoteressource \server\share\dir1\dir2 lautet, verweist das lpRemoteName-Element der NETRESOURCE-Ausgabestruktur auf \server\share. Außerdem verweist der parameter lplpSystem auf \dir1\dir2. Beide Zeichenfolgen werden in dem Puffer gespeichert, auf den der lpBuffer-Parameter verweist.

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_BAD_NET_NAME
Das lpRemoteName-Eingabeelement ist keine vorhandene Netzwerkressource für ein Netzwerk.
ERROR_BAD_DEV_TYPE
Der dwType-Eingabemember stimmt nicht mit dem Ressourcentyp überein, der vom lpRemoteName-Element angegeben wird.
ERROR_EXTENDED_ERROR
Ein netzwerkspezifischer Fehler ist aufgetreten. Rufen Sie WNetGetLastError auf, um eine Beschreibung des Fehlers zu erhalten.
ERROR_MORE_DATA
Der Puffer, auf den der lpBuffer-Parameter verweist, ist zu klein.
ERROR_NO_NETWORK
Das Netzwerk ist nicht verfügbar.

Hinweise

Hinweis

Der winnetwk.h-Header definiert WNetGetResourceInformation 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
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

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceParent

WNetGetUniversalName

Übersicht über Windows-Netzwerke (WNet)

Windows-Netzwerkfunktionen