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


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

Извлекает сведения о сеансе для указанного сеанса на указанном сервере узла сеансов удаленных рабочих столов (узел сеансов удаленных рабочих столов). Его можно использовать для запроса сведений о сеансе на локальных и удаленных серверах узла сеансов удаленных рабочих столов.

Синтаксис

BOOL WTSQuerySessionInformationW(
  [in]  HANDLE         hServer,
  [in]  DWORD          SessionId,
  [in]  WTS_INFO_CLASS WTSInfoClass,
  [out] LPWSTR         *ppBuffer,
  [out] DWORD          *pBytesReturned
);

Параметры

[in] hServer

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

[in] SessionId

Идентификатор сеанса Служб удаленных рабочих столов. Чтобы указать сеанс, в котором выполняется вызывающее приложение (или текущий сеанс), укажите WTS_CURRENT_SESSION. Укажите WTS_CURRENT_SESSION только при получении сведений о сеансе на локальном сервере. Если при запросе сведений о сеансе на удаленном сервере указывается WTS_CURRENT_SESSION, то возвращаемые сведения о сеансе будут несогласованными. Не используйте возвращаемые данные.

Функцию WTSEnumerateSessions можно использовать для получения идентификаторов всех сеансов на указанном сервере узла сеансов удаленных рабочих столов.

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

[in] WTSInfoClass

Значение перечисления WTS_INFO_CLASS , указывающее тип сведений о сеансе, извлекаемых при вызове функции WTSQuerySessionInformation .

[out] ppBuffer

Указатель на переменную, получающую указатель на запрошенные сведения. Формат и содержимое данных зависят от класса информации, указанного в параметре WTSInfoClass . Чтобы освободить возвращенный буфер, вызовите функцию WTSFreeMemory .

[out] pBytesReturned

Указатель на переменную, которая получает размер (в байтах) данных, возвращаемых в ppBuffer.

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

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

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

Комментарии

Чтобы получить идентификатор текущего сеанса при выполнении служб удаленных рабочих столов, вызовите WTSQuerySessionInformation и укажите WTS_CURRENT_SESSION для параметра SessionId и WTSSessionId для параметра WTSInfoClass . Идентификатор сеанса будет возвращен в параметре ppBuffer . Если службы удаленных рабочих столов не запущены, вызовы WTSQuerySessionInformation завершаются сбоем . В этом случае можно получить идентификатор текущего сеанса, вызвав функцию ProcessIdToSessionId .

Чтобы определить, выполняется ли приложение на физической консоли, необходимо указать WTS_CURRENT_SESSION для параметра SessionId и WTSClientProtocolType в качестве параметра WTSInfoClass . Если ppBuffer имеет значение "0", сеанс присоединяется к физической консоли.

Примечание

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

Требования

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

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

WTSCONFIGINFO

WTSINFOEX

WTS_CLIENT_ADDRESS

WTS_CLIENT_DISPLAY

WTS_CONNECTSTATE_CLASS

WTS_INFO_CLASS

WTS_SESSION_ADDRESS