Compartilhar via


Função ObjectOpenAuditAlarmA (winbase.h)

A função ObjectOpenAuditAlarm gera mensagens de auditoria quando um aplicativo cliente tenta obter acesso a um objeto ou criar um novo. Atualmente, não há suporte para alarmes.

Sintaxe

BOOL ObjectOpenAuditAlarmA(
  [in]           LPCSTR               SubsystemName,
  [in]           LPVOID               HandleId,
  [in]           LPSTR                ObjectTypeName,
  [in, optional] LPSTR                ObjectName,
  [in]           PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]           HANDLE               ClientToken,
  [in]           DWORD                DesiredAccess,
  [in]           DWORD                GrantedAccess,
  [in, optional] PPRIVILEGE_SET       Privileges,
  [in]           BOOL                 ObjectCreation,
  [in]           BOOL                 AccessGranted,
  [out]          LPBOOL               GenerateOnClose
);

Parâmetros

[in] SubsystemName

Um ponteiro para uma cadeia de caracteres terminada em nulo especificando o nome do subsistema que chama a função. Essa cadeia de caracteres aparece em qualquer mensagem de auditoria gerada pela função.

[in] HandleId

Um ponteiro para um valor exclusivo que representa o identificador do cliente para o objeto . Se o acesso for negado, esse parâmetro será ignorado.

Para compatibilidade entre plataformas, o valor endereçado por esse ponteiro deve ser sizeof(LPVOID) bytes long.

[in] ObjectTypeName

Um ponteiro para uma cadeia de caracteres terminada em nulo especificando o tipo de objeto ao qual o cliente está solicitando acesso. Essa cadeia de caracteres aparece em qualquer mensagem de auditoria gerada pela função.

[in, optional] ObjectName

Um ponteiro para uma cadeia de caracteres terminada em nulo especificando o nome do objeto ao qual o cliente está solicitando acesso. Essa cadeia de caracteres aparece em qualquer mensagem de auditoria gerada pela função.

[in] pSecurityDescriptor

Um ponteiro para a estrutura SECURITY_DESCRIPTOR para o objeto que está sendo acessado.

[in] ClientToken

Identifica um token de acesso que representa o cliente que está solicitando a operação. Esse identificador deve ser obtido abrindo o token de um thread representando o cliente. O token deve estar aberto para acesso TOKEN_QUERY.

[in] DesiredAccess

Especifica a máscara de acesso desejada. Essa máscara deve ter sido mapeada anteriormente pela função MapGenericMask para não conter direitos de acesso genéricos.

[in] GrantedAccess

Especifica uma máscara de acesso que indica quais direitos de acesso são concedidos. Essa máscara de acesso destina-se a ser o mesmo valor definido por uma das funções de verificação de acesso em seu parâmetro GrantedAccess . Exemplos de funções de verificação de acesso incluem AccessCheckAndAuditAlarm e AccessCheck.

[in, optional] Privileges

Um ponteiro para uma estrutura PRIVILEGE_SET que especifica o conjunto de privilégios necessários para a tentativa de acesso. Este parâmetro pode ser NULL.

[in] ObjectCreation

Especifica um sinalizador que determina se o aplicativo cria um novo objeto quando o acesso é concedido. Quando esse valor é TRUE, o aplicativo cria um novo objeto; quando é FALSE, o aplicativo abre um objeto existente.

[in] AccessGranted

Especifica um sinalizador que indica se o acesso foi concedido ou negado em uma chamada anterior a uma função de verificação de acesso, como AccessCheck. Se o acesso tiver sido concedido, esse valor será TRUE. Caso contrário, é FALSE.

[out] GenerateOnClose

Um ponteiro para um sinalizador definido pela rotina de geração de auditoria quando a função retorna. Esse valor deve ser passado para a função ObjectCloseAuditAlarm quando o identificador do objeto é fechado.

Valor retornado

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

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

Comentários

A função ObjectOpenAuditAlarm exige que o aplicativo de chamada tenha o privilégio SE_AUDIT_NAME habilitado. O teste para esse privilégio sempre é executado no token primário do processo de chamada, não no token de representação do thread. Isso permite que o processo de chamada represente um cliente durante a chamada.

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 winbase.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

AccessCheck

AccessCheckAndAuditAlarm

AreAllAccessesGranted

AreAnyAccessesGranted

Controle de Acesso cliente/servidor

Funções de Controle de Acesso de cliente/servidor

MapGenericMask

ObjectCloseAuditAlarm

ObjectDeleteAuditAlarm

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

Privilegecheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR