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


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

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

Синтаксис

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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
минимальный поддерживаемый сервер Windows Server 2008
целевая платформа Виндоус
заголовка 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