共用方式為


WNetGetUserA 函式 (winnetwk.h)

WNetGetUser 函式會擷取目前的預設用戶名稱,或用來建立網路連線的用戶名稱。

語法

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

參數

[in] lpName

常數的指標 null終止字串,指定已重新導向至網路資源的本機裝置名稱,或建立連線之網路資源的遠端名稱,而不重新導向本機裝置。

如果此參數 NULL 或空字串,則系統會傳回進程目前用戶的名稱。

[out] lpUserName

接收 null終止使用者名稱之緩衝區的指標。

[in, out] lpnLength

變數的指標,以字元為單位,指定 lpUserName 緩衝區的大小。 如果呼叫失敗,因為緩衝區不夠大,此變數會包含所需的緩衝區大小。

傳回值

如果函式成功,傳回值會NO_ERROR。

如果函式失敗,傳回值是 系統錯誤碼,例如下列其中一個值。

傳回碼 描述
ERROR_NOT_CONNECTED
lpName 參數所指定的裝置不是重新導向的裝置或連線的網路名稱。
ERROR_MORE_DATA
後續呼叫會提供更多專案。
ERROR_NO_NETWORK
網路無法使用。
ERROR_EXTENDED_ERROR
發生網路特定錯誤。 若要取得錯誤的描述,請呼叫 WNetGetLastError 函式。
ERROR_NO_NET_OR_BAD_PATH
沒有提供者會將本機名稱辨識為具有連線。 不過,至少一個連線所屬的提供者無法使用網路。

言論

WNetGetUser 函式不知道分散式文件系統 (DFS) 上的共用。 如果 lpName 參數所指定的名稱是重新導向至 DFS 共用的本機裝置,或代表 DFS 共用的遠端資源,WNetGetUser 函式會失敗併產生ERROR_NOT_CONNECTED。

例子

下列程式代碼範例說明如何使用 WNetGetUser 函式來擷取與重新導向本機裝置或遠端網路資源相關聯的用戶名稱。

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


注意

winnetwk.h 標頭會將 WNetGetUser 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winnetwk.h
連結庫 Mpr.lib
DLL Mpr.dll

另請參閱

擷取使用者名稱

WNetGetConnection

Windows 網路功能 (WNet) 概觀

Windows 網路函式