Freigeben über


WNetGetResourceInformationW-Funktion (winnetwk.h)

Wenn sie mit einem 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 WNetGetResourceInformationW(
  [in]      LPNETRESOURCEW lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer,
  [out]     LPWSTR         *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, in der Regel einer, der von einem Benutzer eingegeben wird. Die Elemente lpProvider und dwType sollten auch ausgefüllt werden, sofern bekannt, da dieser Vorgang speicherintensiv 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 Elemente der NETRESOURCE-Struktur werden ignoriert.

[out] lpBuffer

Zeiger auf den Puffer, um das Ergebnis zu empfangen. 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, anstatt über Systemfunktionen, die für den Eingaberessourcentyp spezifisch sind. (Der Rest des Puffers enthält die Zeichenfolgen mit variabler Länge, auf die die Member des NETRESOURCE-Strukturpunkts verweisen.)

Wenn der Eingabe-Remoteressourcenpfad beispielsweise \server\share\dir1\dir2 lautet, enthält die NETRESOURCE-Ausgabestruktur Informationen zur Ressource \server\share. Auf den Teil \dir1\dir2 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.

Das lpRemoteName-Element wird in derselben Syntax zurückgegeben wie das Element, das von einer Enumeration von der WNetEnumResource-Funktion 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 und die Zeichenfolgen zu enthalten, auf die die Member verweisen. Wenn der Puffer für das Ergebnis zu klein ist, empfängt 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 der Name der Eingabe-Remoteressource beispielsweise \server\share\dir1\dir2 lautet, verweist das lpRemoteName-Mitglied der Ausgabestruktur NETRESOURCE auf \server\share. Außerdem zeigt der parameter lplpSystem auf \dir1\dir2. Beide Zeichenfolgen werden im 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 Eingabeelement lpRemoteName ist keine vorhandene Netzwerkressource für ein Netzwerk.
ERROR_BAD_DEV_TYPE
Das dwType-Element stimmt nicht mit dem Ressourcentyp überein, der vom lpRemoteName-Element angegeben wird.
ERROR_EXTENDED_ERROR
Es ist ein netzwerkspezifischer Fehler 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 automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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

WNetGetNetWorkInformation

WNetGetProviderName

WNetGetResourceParent

WNetGetUniversalName

Übersicht über Windows-Netzwerke (WNet)

Windows-Netzwerkfunktionen