Поделиться через


Функция 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 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header lmwksta.h (включая Lm.h)
Библиотека Netapi32.lib
DLL Netapi32.dll

См. также раздел

NetWkstaSetInfo

Функции управления сетью

Общие сведения об управлении сетью

WKSTA_USER_INFO_0

WKSTA_USER_INFO_1

WKSTA_USER_INFO_1101

Рабочие станции и пользовательские функции рабочей станции