共用方式為


NetWkstaUserGetInfo 函式 (lmwksta.h)

NetWkstaUserGetInfo函式會傳回目前登入使用者的相關資訊。 此函式必須在登入使用者的內容中呼叫。

語法

NET_API_STATUS NET_API_FUNCTION NetWkstaUserGetInfo(
        LMSTR  reserved,
  [in]  DWORD  level,
  [out] LPBYTE *bufptr
);

參數

reserved

此參數必須設定為 Null

[in] level

指定資料的資訊層級。 此參數可以是下列其中一個值。

意義
0
傳回目前登入工作站的使用者名稱。 bufptr參數指向WKSTA_USER_INFO_0結構。
1
傳回工作站的相關資訊,包括目前使用者的名稱和工作站所存取的網域。 bufptr參數指向WKSTA_USER_INFO_1結構。
1101
傳回工作站流覽的網域。 bufptr參數指向WKSTA_USER_INFO_1101結構。

[out] bufptr

接收資料的緩衝區指標。 此資料的格式取決於 bufptr 參數的值。 此緩衝區是由系統所配置,而且必須使用 NetApiBufferFree 函式釋放。 如需詳細資訊,請參閱 網路管理功能緩衝區網路管理功能緩衝區長度

傳回值

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

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

傳回碼 描述
ERROR_NOT_ENOUGH_MEMORY
系統記憶體資源不足。 網路系統管理員設定不正確,或程式在記憶體不足的系統上執行。
ERROR_INVALID_LEVEL
level參數無效。
ERROR_INVALID_PARAMETER
其中一個函式參數無效。

備註

NetWkstaUserGetInfo函式只能在本機運作。

範例

下列程式碼範例示範如何使用 對 NetWkstaUserGetInfo 函式的呼叫來擷取目前登入使用者的相關資訊。 範例會呼叫 NetWkstaUserGetInfo,並指定資訊層級 1 ( WKSTA_USER_INFO_1) 。 如果呼叫成功,範例會列印已登入使用者的相關資訊。 最後,此範例會釋放配置給資訊緩衝區的記憶體。

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

#include <stdio.h>
#include <windows.h> 
#include <lm.h>

int wmain(void)
{
   DWORD dwLevel = 1;
   LPWKSTA_USER_INFO_1 pBuf = NULL;
   NET_API_STATUS nStatus;
   //
   // Call the NetWkstaUserGetInfo function;
   //  specify level 1.
   //
   nStatus = NetWkstaUserGetInfo(NULL,
                                 dwLevel,
                                 (LPBYTE *)&pBuf);
   //
   // If the call succeeds, print the information
   //  about the logged-on user.
   //
   if (nStatus == NERR_Success)
   {
      if (pBuf != NULL)
      {
         wprintf(L"\n\tUser:          %s\n", pBuf->wkui1_username);
         wprintf(L"\tDomain:        %s\n", pBuf->wkui1_logon_domain);
         wprintf(L"\tOther Domains: %s\n", pBuf->wkui1_oth_domains);
         wprintf(L"\tLogon Server:  %s\n", pBuf->wkui1_logon_server);
      }
   }
   // Otherwise, print the system error.
   //
   else
      fprintf(stderr, "A system error has occurred: %d\n", nStatus);
   //
   // Free the allocated memory.
   //
   if (pBuf != NULL)
      NetApiBufferFree(pBuf);

   return 0;
}

需求

   
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 lmwksta.h (include Lm.h)
程式庫 Netapi32.lib
Dll Netapi32.dll

另請參閱

NetWkstaSetInfo

網路管理功能

網路管理概觀

WKSTA_USER_INFO_0

WKSTA_USER_INFO_1

WKSTA_USER_INFO_1101

工作站和工作站使用者函式