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

RD 会话主机服务器的句柄。 始终将此参数设置为 WTS_CURRENT_SERVER_HANDLE

[in] pReserved

此参数为保留参数。 始终将此参数设置为 NULL

[in] Reserved

此参数为保留参数。 始终将此参数设置为零。

[in] pListenerName

指向包含侦听器名称的以 null 结尾的字符串的指针。

[in] SecurityInformation

一个SECURITY_INFORMATION值,该值指定要检索的安全信息。 始终启用 DACL_SECURITY_INFORMATIONSACL_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

pSecurityDescriptor 参数引用的SECURITY_DESCRIPTOR结构的大小(以字节为单位)。

[out] lpnLengthNeeded

指向变量的指针,该变量接收存储完整安全描述符所需的字节数。 如果此数字小于或等于 nLength 参数的值,则会将安全描述符复制到 pSecurityDescriptor 参数引用的SECURITY_DESCRIPTOR结构;否则,不执行任何操作。

返回值

如果函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 若要获得更多的错误信息,请调用 GetLastError 函数。

注解

如果接收 SECURITY_DESCRIPTOR 结构的缓冲区所需的字节数未知,则可以调用此方法,并将 nLength 设置为零。 然后, 方法将在 lpnLengthNeeded 参数 中返回缓冲区所需的字节数。 根据此数字分配缓冲区,然后再次调用 方法,将 pSecurityDescriptor 设置为新分配的缓冲区,将 nLength 设置为第一次调用返回的数字。

注意

wtsapi32.h 标头将 WTSGetListenerSecurity 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 7
最低受支持的服务器 Windows Server 2008 R2
目标平台 Windows
标头 wtsapi32.h
Library Wtsapi32.lib
DLL Wtsapi32.dll

另请参阅

SECURITY_DESCRIPTOR

SECURITY_INFORMATION