Compartilhar via


Função EventAccessControl (evntcons.h)

Adiciona ou modifica as permissões do provedor ou sessão especificado.

Sintaxe

ULONG EVNTAPI EventAccessControl(
  [in] LPGUID  Guid,
  [in] ULONG   Operation,
  [in] PSID    Sid,
  [in] ULONG   Rights,
  [in] BOOLEAN AllowOrDeny
);

Parâmetros

[in] Guid

GUID que identifica exclusivamente o provedor ou a sessão cujas permissões você deseja adicionar ou modificar.

[in] Operation

Tipo de operação a ser executada, por exemplo, adicionar uma DACL ao GUID da sessão ou guid do provedor. Para obter valores possíveis, consulte a enumeração EVENTSECURITYOPERATION .

[in] Sid

O SID (identificador de segurança) do usuário ou grupo ao qual você deseja conceder ou negar permissões.

[in] Rights

Você pode especificar uma ou mais das seguintes permissões:

Valor Significado
WMIGUID_QUERY
Permite que o usuário consulte informações sobre a sessão de rastreamento. Defina essa permissão no GUID da sessão.
TRACELOG_CREATE_REALTIME
Permite que o usuário inicie ou atualize uma sessão em tempo real. Defina essa permissão no GUID da sessão.
TRACELOG_CREATE_ONDISK
Permite que o usuário inicie ou atualize uma sessão que grava eventos em um arquivo de log. Defina essa permissão no GUID da sessão.
TRACELOG_GUID_ENABLE
Permite que o usuário habilite o provedor. Defina essa permissão no GUID do provedor.
TRACELOG_ACCESS_KERNEL_LOGGER
Não usado.
TRACELOG_LOG_EVENT
Permite que o usuário registre eventos em uma sessão de rastreamento se a sessão estiver em execução no modo SECURE (a sessão definirá o sinalizador EVENT_TRACE_SECURE_MODE no membro LogFileMode de EVENT_TRACE_PROPERTIES).
TRACELOG_ACCESS_REALTIME
Permite que um usuário consuma eventos em tempo real. Defina essa permissão no GUID da sessão.
TRACELOG_REGISTER_GUIDS
Permite que o usuário registre o provedor. Defina essa permissão no GUID do provedor.

[in] AllowOrDeny

Se TRUE, conceda permissões de usuário para a sessão ou provedor; caso contrário, negue permissões. Esse valor será ignorado se o valor de Operation for EventSecuritySetSACL ou EventSecurityAddSACL.

Valor retornado

Retorna ERROR_SUCCESS se tiver êxito.

Comentários

Por padrão, somente o administrador do computador, os usuários no grupo Usuários do Log de Desempenho e os serviços em execução como LocalSystem, LocalService, NetworkService podem controlar sessões de rastreamento e fornecer e consumir dados de eventos. Somente usuários com privilégios administrativos e serviços em execução como LocalSystem podem iniciar e controlar uma sessão do Agente de Kernel NT.

Windows Server 2003: Somente usuários com privilégios de administrador podem controlar sessões de rastreamento e consumir dados de eventos; qualquer usuário pode fornecer dados de evento.

Windows XP e Windows 2000: Qualquer usuário pode controlar sessões de rastreamento e fornecer e consumir dados de evento.

Os usuários com privilégios de administrador poderão controlar as sessões de rastreamento se a ferramenta usada para controlar a sessão for iniciada em uma janela do Prompt de Comando aberta com Executar como administrador....

Para conceder a um usuário restrito a capacidade de controlar sessões de rastreamento, você pode adicioná-las ao grupo Usuários do Log de Desempenho ou chamar essa função para conceder-lhes permissão. Por exemplo, você pode conceder ao usuário A permissão para iniciar e parar uma sessão de rastreamento e conceder ao usuário B permissão para consultar apenas a sessão.

Para restringir quem pode registrar eventos na sessão, confira a permissão TRACELOG_LOG_EVENT.

A ACL no arquivo de log determina quem pode consumir dados de evento do arquivo de log. Para consumir eventos de uma sessão em tempo real, você deve conceder ao usuário TRACELOG_ACCESS_REALTIME permissão ou o usuário deve ser membro do grupo Usuários do Log de Desempenho.

Você também pode especificar o GUID do provedor para restringir quem pode registrar o provedor e quem pode habilitar o provedor.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho evntcons.h
Biblioteca Sechost.lib no Windows 8.1 e no Windows Server 2012; Sechost.lib no Windows 8.1 e no Windows Server 2012 R2; Advapi32.lib no Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008 e Windows Vista
DLL Sechost.dll no Windows 8.1 e no Windows Server 2012; Advapi32.dll no Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008 e Windows Vista

Confira também

EventAccessQuery

EventAccessRemove