Função WTSGetListenerSecurityA (wtsapi32.h)

Recupera o descritor de segurança de um ouvinte dos Serviços de Área de Trabalho Remota.

Sintaxe

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
);

Parâmetros

[in] hServer

Um identificador para um servidor Host da Sessão de Área de Trabalho Remota. Sempre defina esse parâmetro como WTS_CURRENT_SERVER_HANDLE.

[in] pReserved

Esse parâmetro é reservado. Sempre defina esse parâmetro como NULL.

[in] Reserved

Esse parâmetro é reservado. Sempre defina esse parâmetro como zero.

[in] pListenerName

Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome do ouvinte.

[in] SecurityInformation

Um valor SECURITY_INFORMATION que especifica as informações de segurança a serem recuperadas. Sempre habilite os sinalizadores DACL_SECURITY_INFORMATION e SACL_SECURITY_INFORMATION .

Para obter mais informações sobre valores possíveis, consulte SECURITY_INFORMATION.

[out, optional] pSecurityDescriptor

Um ponteiro para uma estrutura SECURITY_DESCRIPTOR que recebe as informações de segurança associadas ao ouvinte referenciado pelo parâmetro pListenerName . A estrutura SECURITY_DESCRIPTOR é retornada no formato auto-relativo. Para obter mais informações sobre valores possíveis, consulte SECURITY_DESCRIPTOR.

A DACL (lista de controle de acesso discricionário) do descritor de segurança pode conter um ou mais dos valores a seguir.

WTS_SECURITY_ALL_ACCESS

Combina estes valores:

  • 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))

O direito de se conectar.

WTS_SECURITY_CURRENT_GUEST_ACCESS

Combina estes valores:

  • WTS_SECURITY_LOGOFF
  • WTS_SECURITY_VIRTUAL_CHANNELS

WTS_SECURITY_CURRENT_USER_ACCESS

Combina estes valores:

  • WTS_SECURITY_DISCONNECT
  • WTS_SECURITY_LOGOFF
  • WTS_SECURITY_RESET
  • WTS_SECURITY_SET_INFORMATION
  • WTS_SECURITY_VIRTUAL_CHANNELS

WTS_SECURITY_DISCONNECT (512 (0x200))

O direito de desconectar.

WTS_SECURITY_GUEST_ACCESS

Definido como WTS_SECURITY_LOGON.

WTS_SECURITY_LOGOFF (64 (0x40))

O direito de fazer logoff.

WTS_SECURITY_LOGON (32 (0x20))

O direito de fazer logon.

WTS_SECURITY_MESSAGE (128 (0x80))

O direito de enviar uma mensagem ao usuário.

WTS_SECURITY_QUERY_INFORMATION (1 (0x1))

O direito de consultar informações.

WTS_SECURITY_REMOTE_CONTROL (16 (0x10))

O direito de usar o controle remoto.

WTS_SECURITY_RESET (4 (0x4))

O direito de redefinir informações.

WTS_SECURITY_SET_INFORMATION (2 (0x2))

O direito de definir informações.

WTS_SECURITY_USER_ACCESS

Combina estes valores:

  • WTS_SECURITY_CONNECT
  • WTS_SECURITY_CURRENT_GUEST_ACCESS
  • WTS_SECURITY_QUERY_INFORMATION

WTS_SECURITY_VIRTUAL_CHANNELS (8 (0x8))

O direito de usar canais virtuais.

[in] nLength

O tamanho, em bytes, da estrutura SECURITY_DESCRIPTOR referenciada pelo parâmetro pSecurityDescriptor .

[out] lpnLengthNeeded

Um ponteiro para uma variável que recebe o número de bytes necessários para armazenar o descritor de segurança completo. Se esse número for menor ou igual ao valor do parâmetro nLength , o descritor de segurança será copiado para a estrutura SECURITY_DESCRIPTOR referenciada pelo parâmetro pSecurityDescriptor ; caso contrário, nenhuma ação será tomada.

Retornar valor

Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame a função GetLastError.

Comentários

Se o número de bytes necessários para o buffer que recebe a estrutura SECURITY_DESCRIPTOR for desconhecido, você poderá chamar esse método com nLength definido como zero. Em seguida, o método retornará, no parâmetro lpnLengthNeeded , o número de bytes necessários para o buffer. Aloque o buffer com base nesse número e, em seguida, chame o método novamente, definindo pSecurityDescriptor para o buffer recém-alocado e nLength para o número retornado pela primeira chamada.

Observação

O cabeçalho wtsapi32.h define WTSGetListenerSecurity como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7
Servidor mínimo com suporte Windows Server 2008 R2
Plataforma de Destino Windows
Cabeçalho wtsapi32.h
Biblioteca Wtsapi32.lib
DLL Wtsapi32.dll

Confira também

SECURITY_DESCRIPTOR

SECURITY_INFORMATION