WNetGetResourceInformationA-Funktion (winnetwk.h)
Wenn ein Remotepfad zu einer Netzwerkressource bereitgestellt wird, identifiziert die funktion WNetGetResourceInformation den Netzwerkanbieter, der die Ressource besitzt, und ruft Informationen zum Typ der Ressource ab. Die Funktion wird in der Regel zusammen mit der WNetGetResourceParent Funktion verwendet, um einen vom 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.
Der lpRemoteName- Member der Struktur sollte den Remotepfadnamen der Ressource angeben, in der Regel ein Von einem Benutzer eingegebener Pfad. Die lpProvider-- und dwType--Member sollten ebenfalls ausgefüllt werden, da dieser Vorgang speicherintensiv sein kann, insbesondere wenn Sie das 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
Zeigen Sie auf den Puffer, um das Ergebnis zu erhalten. Bei erfolgreicher Rückgabe ist der erste Teil des Puffers eine NETRESOURCE- Struktur, die diesen 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 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 Ausgabe NETRESOURCE- Struktur Informationen zur Ressource \server\freigabe. Auf den Teil "\dir1\dir2" des Pfads wird über die Dateiverwaltungsfunktionenzugegriffen. Die lpRemoteName, lpProvider, dwType, dwDisplayTypeund dwUsage Member von NETRESOURCE werden zurückgegeben, wobei alle anderen Member auf NULL-festgelegt sind.
Das lpRemoteName Member wird in derselben Syntax zurückgegeben wie das Element, das von einer Aufzählung durch die 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 übereinstimmt, die von einem separaten Aufruf an WNetEnumResource-zurückgegeben wird.
[in, out] lpcbBuffer
Zeiger auf eine Position, die beim Eintrag die Größe des lpBuffer- Puffers in Byte angibt. Der zugewiesene Puffer muss groß genug sein, um die NETRESOURCE- Struktur sowie die Zeichenfolgen, auf die die Member verweisen, zu enthalten. 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 die ü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 Eingabe-Remoteressourcenname beispielsweise "\server\share\dir1\dir2" lautet, verweist der lpRemoteName Member der Ausgabe NETRESOURCE- Struktur auf \server\share. Außerdem verweist der lplpSystem Parameter 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 |
---|---|
|
Die Eingabe lpRemoteName Member ist keine vorhandene Netzwerkressource für ein Netzwerk. |
|
Die Eingabe dwType Member stimmt nicht mit dem Vom lpRemoteName Member angegebenen Ressourcentyp überein. |
|
Es ist ein netzwerkspezifischer Fehler aufgetreten. Rufen Sie WNetGetLastError- auf, um eine Beschreibung des Fehlers abzurufen. |
|
Der Puffer, auf den der lpBuffer-Parameter verweist, ist zu klein. |
|
Das Netzwerk ist nicht verfügbar. |
Bemerkungen
Anmerkung
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 |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winnetwk.h |
Library | Mpr.lib |
DLL- | Mpr.dll |
Siehe auch
übersicht über Windows Networking (WNet)