Função GetUserObjectSecurity (winuser.h)
A função GetUserObjectSecurity recupera informações de segurança para o objeto de usuário especificado.
Sintaxe
BOOL GetUserObjectSecurity(
[in] HANDLE hObj,
[in] PSECURITY_INFORMATION pSIRequested,
[in, out, optional] PSECURITY_DESCRIPTOR pSID,
[in] DWORD nLength,
[out] LPDWORD lpnLengthNeeded
);
Parâmetros
[in] hObj
Um identificador para o objeto de usuário para o qual retornar informações de segurança.
[in] pSIRequested
Um ponteiro para um valor SECURITY_INFORMATION que especifica as informações de segurança que estão sendo solicitadas.
[in, out, optional] pSID
Um ponteiro para uma estrutura SECURITY_DESCRIPTOR no formato auto-relativo que contém as informações solicitadas quando a função retorna. Esse buffer deve ser alinhado em um limite de 4 bytes.
[in] nLength
O comprimento, em bytes, do buffer apontado pelo parâmetro pSD .
[out] lpnLengthNeeded
Um ponteiro para uma variável para receber o número de bytes necessários para armazenar o descritor de segurança completo. Se o valor dessa variável for maior que o valor do parâmetro nLength quando a função retornar, a função retornará FALSE e nenhum descritor de segurança será copiado para o buffer. Caso contrário, todo o descritor de segurança será copiado.
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
Para ler o proprietário, o grupo ou a DACL ( lista de controle de acesso discricionário ) do descritor de segurança do objeto de usuário, o processo de chamada deve ter sido concedido READ_CONTROL acesso quando o identificador foi aberto.
Para ler a SACL ( lista de controle de acesso do sistema ) do descritor de segurança, o processo de chamada deve ter recebido acesso ACCESS_SYSTEM_SECURITY quando o identificador foi aberto. A maneira correta de obter esse acesso é habilitar o privilégio SE_SECURITY_NAME no token atual do chamador, abrir o identificador para acesso ACCESS_SYSTEM_SECURITY e desabilitar o privilégio.
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
Controle de Acesso de baixo nível