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


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

Извлекает дескриптор безопасности прослушивателя Служб удаленных рабочих столов.

Синтаксис

BOOL WTSGetListenerSecurityW(
  [in]            HANDLE               hServer,
  [in]            PVOID                pReserved,
  [in]            DWORD                Reserved,
  [in]            LPWSTR               pListenerName,
  [in]            SECURITY_INFORMATION SecurityInformation,
  [out, optional] PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]            DWORD                nLength,
  [out]           LPDWORD              lpnLengthNeeded
);

Параметры

[in] hServer

Дескриптор сервера узла сеансов удаленных рабочих стола. Всегда присвойте этому параметру значение WTS_CURRENT_SERVER_HANDLE.

[in] pReserved

Этот параметр зарезервирован. Всегда присваивайте этому параметру значение NULL.

[in] Reserved

Этот параметр зарезервирован. Всегда присвойте этому параметру нулевое значение.

[in] pListenerName

Указатель на строку, завершающуюся значением NULL, которая содержит имя прослушивателя.

[in] SecurityInformation

Значение SECURITY_INFORMATION , указывающее извлекаемые сведения о безопасности. Всегда включайте флаги DACL_SECURITY_INFORMATION и SACL_SECURITY_INFORMATION .

Дополнительные сведения о возможных значениях см . в разделе SECURITY_INFORMATION.

[out, optional] pSecurityDescriptor

Указатель на структуру SECURITY_DESCRIPTOR , получающую сведения о безопасности, связанные с прослушивателем, на который ссылается параметр pListenerName . Структура SECURITY_DESCRIPTOR возвращается в само относительном формате. Дополнительные сведения о возможных значениях см. в разделе SECURITY_DESCRIPTOR.

Список управления доступом (DACL) дескриптора безопасности может содержать одно или несколько из следующих значений.

WTS_SECURITY_ALL_ACCESS

Объединяет следующие значения:

  • STANDARD_RIGHTS_REQUIRED
  • WTS_SECURITY_CONNECT
  • WTS_SECURITY_DISCONNECT
  • WTS_SECURITY_LOGON
  • WTS_SECURITY_MESSAGE
  • WTS_SECURITY_QUERY_INFORMATION
  • WTS_SECURITY_REMOTE_CONTROL
  • WTS_SECURITY_RESET
  • WTS_SECURITY_SET_INFORMATION
  • WTS_SECURITY_VIRTUAL_CHANNELS

WTS_SECURITY_CONNECT (256 (0x100))

Право на подключение.

WTS_SECURITY_CURRENT_GUEST_ACCESS

Объединяет следующие значения:

  • WTS_SECURITY_LOGOFF
  • WTS_SECURITY_VIRTUAL_CHANNELS

WTS_SECURITY_CURRENT_USER_ACCESS

Объединяет следующие значения:

  • WTS_SECURITY_DISCONNECT
  • WTS_SECURITY_LOGOFF
  • WTS_SECURITY_RESET
  • WTS_SECURITY_SET_INFORMATION
  • WTS_SECURITY_VIRTUAL_CHANNELS

WTS_SECURITY_DISCONNECT (512 (0x200))

Право на отключение.

WTS_SECURITY_GUEST_ACCESS

Определяется как WTS_SECURITY_LOGON.

WTS_SECURITY_LOGOFF (64 (0x40))

Право на выход.

WTS_SECURITY_LOGON (32 (0x20))

Право на вход.

WTS_SECURITY_MESSAGE (128 (0x80))

Право на отправку сообщения пользователю.

WTS_SECURITY_QUERY_INFORMATION (1 (0x1))

Право запрашивать информацию.

WTS_SECURITY_REMOTE_CONTROL (16 (0x10))

Право на использование удаленного управления.

WTS_SECURITY_RESET (4 (0x4))

Право на сброс сведений.

WTS_SECURITY_SET_INFORMATION (2 (0x2))

Право на настройку сведений.

WTS_SECURITY_USER_ACCESS

Объединяет следующие значения:

  • WTS_SECURITY_CONNECT
  • WTS_SECURITY_CURRENT_GUEST_ACCESS
  • WTS_SECURITY_QUERY_INFORMATION

WTS_SECURITY_VIRTUAL_CHANNELS (8 (0x8))

Право на использование виртуальных каналов.

[in] nLength

Размер в байтах структуры SECURITY_DESCRIPTOR , на которую ссылается параметр pSecurityDescriptor .

[out] lpnLengthNeeded

Указатель на переменную, получающую количество байтов, необходимых для хранения полного дескриптора безопасности. Если это число меньше или равно значению параметра nLength , дескриптор безопасности копируется в структуру SECURITY_DESCRIPTOR , на которую ссылается параметр pSecurityDescriptor ; в противном случае никаких действий не выполняется.

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

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

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

Комментарии

Если число байтов, необходимое для буфера, получающего структуру SECURITY_DESCRIPTOR , неизвестно, можно вызвать этот метод с параметром nLength , равным нулю. Затем метод возвращает в параметре lpnLengthNeeded количество байтов, необходимых для буфера. Выделите буфер на основе этого числа, а затем вызовите метод еще раз, задав pSecurityDescriptor только что выделенный буфер, а nLength — число, возвращенное первым вызовом.

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 7
Минимальная версия сервера Windows Server 2008 R2
Целевая платформа Windows
Header wtsapi32.h
Библиотека Wtsapi32.lib
DLL Wtsapi32.dll

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

SECURITY_DESCRIPTOR

SECURITY_INFORMATION