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
Controle de Acesso cliente/servidor