Freigeben über


WNetGetUserW-Funktion (winnetwk.h)

Die WNetGetUser-Funktion ruft den aktuellen Standardbenutzernamen oder den Benutzernamen ab, der zum Herstellen einer Netzwerkverbindung verwendet wird.

Syntax

DWORD WNetGetUserW(
  [in]      LPCWSTR lpName,
  [out]     LPWSTR  lpUserName,
  [in, out] LPDWORD lpnLength
);

Parameter

[in] lpName

Ein Zeiger auf eine konstante NULL-endende Zeichenfolge, die entweder den Namen eines lokalen Geräts angibt, das an eine Netzwerkressource umgeleitet wurde, oder den Remotenamen einer Netzwerkressource, mit der eine Verbindung hergestellt wurde, ohne ein lokales Gerät umzuleiten.

Wenn dieser Parameter NULL oder die leere Zeichenfolge ist, gibt das System den Namen des aktuellen Benutzers für den Prozess zurück.

[out] lpUserName

Ein Zeiger auf einen Puffer, der den mit NULL beendeten Benutzernamen empfängt.

[in, out] lpnLength

Ein Zeiger auf eine Variable, die die Größe des puffers lpUserName in Zeichen angibt. Wenn der Aufruf fehlschlägt, weil der Puffer nicht groß genug ist, enthält diese Variable die erforderliche Puffergröße.

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_NOT_CONNECTED
Das vom lpName-Parameter angegebene Gerät ist kein umgeleitetes Gerät oder ein Verbundener Netzwerkname.
ERROR_MORE_DATA
Bei nachfolgenden Aufrufen sind weitere Einträge verfügbar.
ERROR_NO_NETWORK
Das Netzwerk ist nicht verfügbar.
ERROR_EXTENDED_ERROR
Ein netzwerkspezifischer Fehler ist aufgetreten. Rufen Sie die WNetGetLastError-Funktion auf, um eine Beschreibung des Fehlers zu erhalten.
ERROR_NO_NET_OR_BAD_PATH
Keiner der Anbieter erkennt, dass der lokale Name über eine Verbindung verfügt. Das Netzwerk ist jedoch nicht für mindestens einen Anbieter verfügbar, zu dem die Verbindung gehören kann.

Hinweise

Die WNetGetUser-Funktion erkennt keine Freigaben im verteilten Dateisystem (Distributed File System, DFS). Wenn der durch den lpName-Parameter angegebene Name ein lokales Gerät ist, das an eine DFS-Freigabe oder eine Remoteressource umgeleitet wird, die eine DFS-Freigabe darstellt, schlägt die WNetGetUser-Funktion mit ERROR_NOT_CONNECTED fehl.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie die WNetGetUser-Funktion verwenden, um den Namen des Benutzers abzurufen, der einem umgeleiteten lokalen Gerät oder einer Remotenetzwerkressource zugeordnet ist.

#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "mpr.lib")

#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <Winnetwk.h>

int wmain(int argc, wchar_t * argv[])
{
    DWORD dwRetVal;

    WCHAR UserName[MAX_PATH];

    DWORD dwNameLength = MAX_PATH;

    if (argc != 2) {
        wprintf
            (L"Usage: %s [Redirected-LocalDevice or Network-Resource-Remote-name\n",
             argv[0]);
        exit(1);
    }

    wprintf(L"Calling WNetGetUser with Network-Resource = %s\n", argv[1]);

    dwRetVal = WNetGetUser(argv[1], UserName, &dwNameLength);
    //
    // If the call succeeds, print the user information.
    //
    if (dwRetVal == NO_ERROR) {

        wprintf(L"WNetGetUser returned success\n");
        wprintf(L"\tUsername=%s   NameLength=%d\n", &UserName, dwNameLength);
        exit(0);
    }

    else {
        wprintf(L"WNetGetUser failed with error: %u\n", dwRetVal);
        exit(1);
    }
}


Hinweis

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

Abrufen des Benutzernamens

WNetGetConnection

Übersicht über Windows-Netzwerke (WNet)

Windows-Netzwerkfunktionen