Функция 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) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по