Функция WTSEnumerateSessionsExA (wtsapi32.h)
Извлекает список сеансов на указанном сервере сеансов удаленного рабочего стола (RD Session Host) или на сервере виртуализации удаленного рабочего стола (узел виртуализации удаленных рабочих столов).
Синтаксис
BOOL WTSEnumerateSessionsExA(
[in] HANDLE hServer,
[in, out] DWORD *pLevel,
[in] DWORD Filter,
[out] PWTS_SESSION_INFO_1A *ppSessionInfo,
[out] DWORD *pCount
);
Параметры
[in] hServer
Дескриптор целевого сервера. Укажите дескриптор, возвраща емый функцией WTSOpenServer или WTSOpenServerEx. Чтобы перечислить сеансы на сервере узла сеансов удаленных рабочих столах, на котором выполняется приложение, укажите WTS_CURRENT_SERVER_HANDLE.
[in, out] pLevel
Этот параметр зарезервирован. Всегда задайте для этого параметра одно значение. В выходных данных WTSEnumerateSessionsEx не изменяет значение этого параметра.
[in] Filter
Этот параметр зарезервирован. Всегда установите для этого параметра значение нулю.
[out] ppSessionInfo
Указатель на переменную PWTS_SESSION_INFO_1, которая получает указатель на массив WTS_SESSION_INFO_1 структур. Каждая структура в массиве содержит сведения о сеансе на указанном сервере узла сеансов удаленных рабочих столах. Если вы получили дескриптор на сервере узла виртуализации удаленных рабочих столов, вызвав функцию WTSOpenServerEx, массив содержит сведения о сеансах на виртуальных машинах на сервере. По завершении работы с массивом освободим его, вызвав функцию WTSFreeMemoryEx. Кроме того, необходимо задать указатель на NULL.
[out] pCount
Указатель на переменную DWORD
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение является ненулевое значение.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите функцию getLastError
Замечания
Чтобы получить сведения о сеансах, выполняемых на виртуальных машинах на сервере узла виртуализации удаленных рабочих столов, необходимо получить дескриптор, вызвав функцию WTSOpenServerEx. Чтобы освободить возвращенный буфер, вызовите функцию WTSFreeMemoryEx и задайте для параметра WTSClassType значение WTSTypeSessionInfoLevel1.
Чтобы перечислить сеанс, необходимо иметь разрешение на получение сведений о запросах для этого сеанса. Дополнительные сведения см. в разделе Разрешения служб удаленных рабочих столов. Чтобы изменить разрешения на сеанс, используйте средство администрирования службы удаленных рабочих столов.
Чтобы перечислить сеансы, работающие на виртуальной машине, размещенной на сервере узла виртуализации удаленных рабочих столах, необходимо быть членом группы администраторов на сервере узла виртуализации удаленных рабочих столах.
Заметка
Заголовок wtsapi32.h определяет WTSEnumerateSessionsEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 7 |
минимальный поддерживаемый сервер | Windows Server 2008 R2 |
целевая платформа | Виндоус |
заголовка | wtsapi32.h |
библиотеки |
Wtsapi32.lib |
DLL | Wtsapi32.dll |
набор API | ext-ms-win-session-wtsapi32-l1-1-0 (представлено в Windows 8) |