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