Fungsi WNetGetUserA (winnetwk.h)

Fungsi WNetGetUser mengambil nama pengguna default saat ini, atau nama pengguna yang digunakan untuk membuat koneksi jaringan.

Sintaks

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

Parameter

[in] lpName

Penunjuk ke string konstanta yang dihentikan null yang menentukan nama perangkat lokal yang telah dialihkan ke sumber daya jaringan, atau nama jarak jauh sumber daya jaringan tempat koneksi dibuat tanpa mengalihkan perangkat lokal.

Jika parameter ini adalah NULL atau string kosong, sistem mengembalikan nama pengguna saat ini untuk proses tersebut.

[out] lpUserName

Penunjuk ke buffer yang menerima nama pengguna yang dihentikan null.

[in, out] lpnLength

Penunjuk ke variabel yang menentukan ukuran buffer lpUserName , dalam karakter. Jika panggilan gagal karena buffer tidak cukup besar, variabel ini berisi ukuran buffer yang diperlukan.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah NO_ERROR.

Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan sistem, seperti salah satu nilai berikut.

Menampilkan kode Deskripsi
ERROR_NOT_CONNECTED
Perangkat yang ditentukan oleh parameter lpName bukan perangkat yang dialihkan atau nama jaringan yang terhubung.
ERROR_MORE_DATA
Entri lainnya tersedia dengan panggilan berikutnya.
ERROR_NO_NETWORK
Jaringan tidak tersedia.
ERROR_EXTENDED_ERROR
Terjadi kesalahan khusus jaringan. Untuk mendapatkan deskripsi kesalahan, panggil fungsi WNetGetLastError .
ERROR_NO_NET_OR_BAD_PATH
Tidak ada penyedia yang mengenali nama lokal yang memiliki koneksi. Namun, jaringan tidak tersedia untuk setidaknya satu penyedia yang mungkin memiliki koneksi.

Keterangan

Fungsi WNetGetUser tidak mengetahui berbagi pada Sistem File Terdistribusi (DFS). Jika nama yang ditentukan oleh parameter lpName adalah perangkat lokal yang dialihkan ke berbagi DFS atau sumber daya jarak jauh yang mewakili berbagi DFS, fungsi WNetGetUser gagal dengan ERROR_NOT_CONNECTED.

Contoh

Sampel kode berikut menggambarkan cara menggunakan fungsi WNetGetUser untuk mengambil nama pengguna yang terkait dengan perangkat lokal yang dialihkan atau sumber daya jaringan jarak jauh.

#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);
    }
}


Catatan

Header winnetwk.h mendefinisikan WNetGetUser sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winnetwk.h
Pustaka Mpr.lib
DLL Mpr.dll

Lihat juga

Mengambil Nama Pengguna

WNetGetConnection

Gambaran Umum Jaringan Windows (WNet)

Fungsi Jaringan Windows