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


Функция WTSEnumerateSessionsExW (wtsapi32.h)

Извлекает список сеансов на указанном сервере узла сеансов удаленных рабочих столов (узел сеансов удаленных рабочих столов) или на сервере узла виртуализации удаленных рабочих столов (узел виртуализации удаленных рабочих столов).

Синтаксис

BOOL WTSEnumerateSessionsExW(
  [in]      HANDLE               hServer,
  [in, out] DWORD                *pLevel,
  [in]      DWORD                Filter,
  [out]     PWTS_SESSION_INFO_1W *ppSessionInfo,
  [out]     DWORD                *pCount
);

Параметры

[in] hServer

Дескриптор целевого сервера. Укажите дескриптор, возвращаемый функцией WTSOpenServer или WTSOpenServerEx . Чтобы перечислить сеансы на сервере узла сеансов удаленных рабочих стола, на котором выполняется приложение, укажите WTS_CURRENT_SERVER_HANDLE.

[in, out] pLevel

Этот параметр зарезервирован. Всегда присваивайте этому параметру значение one. В выходных данных WTSEnumerateSessionsEx не изменяет значение этого параметра.

[in] Filter

Этот параметр зарезервирован. Всегда присвойте этому параметру нулевое значение.

[out] ppSessionInfo

Указатель на переменную PWTS_SESSION_INFO_1 , получающую указатель на массив WTS_SESSION_INFO_1 структур. Каждая структура в массиве содержит сведения о сеансе на указанном сервере узла сеансов удаленных рабочих стола. Если вы получили дескриптор для сервера узла виртуализации удаленных рабочих столов путем вызова функции WTSOpenServerEx , массив содержит сведения о сеансах на виртуальных машинах на сервере. Завершив использование массива, освободите его, вызвав функцию WTSFreeMemoryEx . Также следует задать для указателя значение NULL.

[out] pCount

Указатель на переменную DWORD , которая получает количество WTS_SESSION_INFO_1 структур, возвращаемых в буфере ppSessionInfo .

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет ненулевым.

Если функция выполняется неудачно, возвращается нулевое значение. Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError .

Комментарии

Чтобы получить сведения о сеансах, выполняемых на виртуальных машинах на сервере узла виртуализации удаленных рабочих столов, необходимо получить дескриптор, вызвав функцию WTSOpenServerEx . Чтобы освободить возвращенный буфер, вызовите функцию WTSFreeMemoryEx и задайте для параметра WTSClassTypeзначение WTSTypeSessionInfoLevel1.

Для перечисления сеанса необходимо иметь разрешение "Сведения о запросе" для этого сеанса. Дополнительные сведения см. в разделе Разрешения служб удаленных рабочих столов. Чтобы изменить разрешения для сеанса, используйте средство администрирования Конфигурации служб удаленных рабочих столов.

Для перечисления сеансов, выполняемых на виртуальной машине, размещенной на сервере узла виртуализации удаленных рабочих стола, необходимо быть членом группы администраторов на сервере узла виртуализации удаленных рабочих стола.

Примечание

Заголовок wtsapi32.h определяет WTSEnumerateSessionsEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 7
Минимальная версия сервера Windows Server 2008 R2
Целевая платформа Windows
Header wtsapi32.h
Библиотека Wtsapi32.lib
DLL Wtsapi32.dll
Набор API ext-ms-win-session-wtsapi32-l1-1-0 (представлено в Windows 8)

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

WTSFreeMemoryEx

WTSOpenServerEx

WTS_SESSION_INFO_1