Função SetUserObjectSecurity (winuser.h)

A função SetUserObjectSecurity define a segurança de um objeto de usuário. Isso pode ser, por exemplo, uma janela ou uma conversa DDE.

Sintaxe

BOOL SetUserObjectSecurity(
  [in] HANDLE                hObj,
  [in] PSECURITY_INFORMATION pSIRequested,
  [in] PSECURITY_DESCRIPTOR  pSID
);

Parâmetros

[in] hObj

Um identificador para um objeto de usuário para o qual as informações de segurança são definidas.

[in] pSIRequested

Um ponteiro para um valor que indica os componentes do descritor de segurança a ser definido. Esse parâmetro pode ser uma combinação dos seguintes valores.

Valor Significado
DACL_SECURITY_INFORMATION
Define a DACL ( lista de controle de acesso discricionário ) do objeto . O identificador especificado por hObj deve ter acesso WRITE_DAC ou o processo de chamada deve ser o proprietário do objeto.
GROUP_SECURITY_INFORMATION
Define o SID ( identificador de segurança do grupo primário) do objeto.
OWNER_SECURITY_INFORMATION
Define o SID do proprietário do objeto . O identificador especificado por hObj deve ter acesso WRITE_OWNER ou o processo de chamada deve ser o proprietário do objeto ou ter o privilégio SE_TAKE_OWNERSHIP_NAME habilitado.
SACL_SECURITY_INFORMATION
Define a SACL ( lista de controle de acesso do sistema ) do objeto . O identificador especificado por hObj deve ter ACCESS_SYSTEM_SECURITY acesso.

Para obter acesso ACCESS_SYSTEM_SECURITY

  1. Habilite o privilégio SE_SECURITY_NAME no token de acesso atual do chamador.
  2. Abra o identificador para acesso ACCESS_SYSTEM_SECURITY.
  3. Desabilite o privilégio.

[in] pSID

Um ponteiro para uma estrutura SECURITY_DESCRIPTOR que contém as novas informações de segurança.

Esse buffer deve ser alinhado em um limite de 4 bytes.

Retornar valor

Se a função for bem-sucedida, a função retornará diferente de zero.

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

Comentários

A função SetUserObjectSecurity aplica alterações especificadas em um descritor de segurança ao descritor de segurança atribuído a um objeto de usuário. O descritor de segurança do objeto deve estar em forma auto-relativa . Se necessário, essa função aloca memória adicional para aumentar o tamanho do descritor de segurança.

Exemplos

Para obter um exemplo que usa essa função, consulte Iniciando um processo de cliente interativo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também

GetUserObjectSecurity

Controle de Acesso de baixo nível

Funções de Controle de Acesso de baixo nível

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetFileSecurity

SetKernelObjectSecurity

SetPrivateObjectSecurity