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


Функция 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 , которая получает количество структур WTS_SESSION_INFO_1, возвращаемых в буфере ppSessionInfo.

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

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

Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите функцию 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)

См. также

WTSFreeMemoryEx

WTSOpenServerEx

WTS_SESSION_INFO_1