Platform SDK: Network Management |
The NetWkstaUserGetInfo function returns information about the currently logged-on user. This function must be called in the context of the logged-on user.
The NetWkstaUserGetInfo function only works locally.
NET_API_STATUS NetWkstaUserGetInfo( LPWSTR reserved, DWORD level, LPBYTE *bufptr );
Value | Meaning |
---|---|
0 | Return the name of the user currently logged on to the workstation. The bufptr parameter points to a WKSTA_USER_INFO_0 structure. |
1 | Return information about the workstation, including the name of the current user and the domains accessed by the workstation. The bufptr parameter points to a WKSTA_USER_INFO_1 structure. |
1101 | Return domains browsed by the workstation. The bufptr parameter points to a WKSTA_USER_INFO_1101 structure. |
If the function succeeds, the return value is NERR_Success.
If the function fails, the return value can be one of the following error codes.
Value | Meaning |
---|---|
ERROR_NOT_ENOUGH_MEMORY | The system ran out of memory resources. Either the network manager configuration is incorrect, or the program is running on a system with insufficient memory. |
ERROR_INVALID_LEVEL | The level parameter is invalid. |
ERROR_INVALID_PARAMETER | One of the function parameters is invalid. |
The following code sample demonstrates how to retrieve information about the currently logged-on user using a call to the NetWkstaUserGetInfo function. The sample calls NetWkstaUserGetInfo, specifying information level 1 (WKSTA_USER_INFO_1). If the call succeeds, the sample prints information about the logged-on user. Finally, the sample frees the memory allocated for the information buffer.
#ifndef UNICODE #define UNICODE #endif #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 NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Unsupported.
Header: Declared in Lmwksta.h; include Lm.h.
Library: Use Netapi32.lib.
Network Management Overview, Network Management Functions, Workstation and Workstation User Functions, NetWkstaSetInfo, WKSTA_USER_INFO_0, WKSTA_USER_INFO_1, WKSTA_USER_INFO_1101