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


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

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

Синтаксис

BOOL WTSGetListenerSecurityA(
  [in]            HANDLE               hServer,
  [in]            PVOID                pReserved,
  [in]            DWORD                Reserved,
  [in]            LPSTR                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 равным нулю. Затем метод возвращается в параметре lpnLengthNeededed число байтов, необходимых для буфера. Выделите буфер на основе этого числа, а затем снова вызовите метод, задав pSecurityDescriptor в только что выделенный буфер и nLength номеру, возвращаемого первым вызовом.

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 7
минимальный поддерживаемый сервер Windows Server 2008 R2
целевая платформа Виндоус
заголовка wtsapi32.h
библиотеки Wtsapi32.lib
DLL Wtsapi32.dll

См. также

SECURITY_DESCRIPTOR

SECURITY_INFORMATION