Функция NetWkstaUserGetInfo (lmwksta.h)
Функция NetWkstaUserGetInfo возвращает сведения о вошедшего в систему пользователя. Эта функция должна вызываться в контексте пользователя, вошедшего в систему.
Синтаксис
NET_API_STATUS NET_API_FUNCTION NetWkstaUserGetInfo(
LMSTR reserved,
[in] DWORD level,
[out] LPBYTE *bufptr
);
Параметры
reserved
Этот параметр должен иметь значение NULL.
[in] level
Указывает уровень информации о данных. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Возвращает имя пользователя, выполнившего вход на рабочую станцию. Параметр bufptr указывает на структуру WKSTA_USER_INFO_0 . |
|
Возвращает сведения о рабочей станции, включая имя текущего пользователя и домены, к которым она обращается. Параметр bufptr указывает на структуру WKSTA_USER_INFO_1 . |
|
Возвращает домены, просматриваемые рабочей станцией. Параметр bufptr указывает на структуру WKSTA_USER_INFO_1101 . |
[out] bufptr
Указатель на буфер, который получает данные. Формат этих данных зависит от значения параметра bufptr . Этот буфер выделяется системой и должен быть освобожден с помощью функции NetApiBufferFree . Дополнительные сведения см. в разделах Буферы функций управления сетью и Длина буфера функции управления сетью.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NERR_Success.
Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
В системе не хватает ресурсов памяти. Либо неправильная конфигурация диспетчера сети, либо программа выполняется в системе с недостаточным объемом памяти. |
|
Недопустимый параметр level . |
|
Один из параметров функции недопустим. |
Комментарии
Функция 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 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | lmwksta.h (включая Lm.h) |
Библиотека | Netapi32.lib |
DLL | Netapi32.dll |