共用方式為


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。

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

傳回碼 Description
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 [僅限桌面應用程式]
目標平台 Windows
標頭 winnetwk.h
程式庫 Mpr.lib
Dll Mpr.dll

另請參閱

擷取用戶名稱

WNetGetConnection

Windows 網路 (WNet) 概觀

Windows 網路功能