WNetGetUserA-Funktion (winnetwk.h)

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

Syntax

DWORD WNetGetUserA(
  [in]      LPCSTR  lpName,
  [out]     LPSTR   lpUserName,
  [in, out] LPDWORD lpnLength
);

Parameter

[in] lpName

Ein Zeiger auf eine konstante NULL-Zeichenfolge, die entweder den Namen eines lokalen Geräts angibt, das an eine Netzwerkressource umgeleitet wurde, oder den Remotenamen einer Netzwerkressource, zu 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 durch den lpName-Parameter angegebene Gerät ist kein umgeleitetes Gerät oder ein verbundener Netzwerkname.
ERROR_MORE_DATA
Weitere Einträge sind bei nachfolgenden Aufrufen verfügbar.
ERROR_NO_NETWORK
Das Netzwerk ist nicht verfügbar.
ERROR_EXTENDED_ERROR
Es ist ein netzwerkspezifischer Fehler 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 eine Verbindung aufweist. Das Netzwerk ist jedoch nicht für mindestens einen Anbieter verfügbar, zu dem die Verbindung möglicherweise gehört.

Hinweise

Die WNetGetUser-Funktion kennt keine Freigaben im verteilten Dateisystem (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 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

Abrufen des Benutzernamens

WNetGetConnection

Übersicht über Windows-Netzwerke (WNet)

Windows-Netzwerkfunktionen