Compartilhar via


Função AccessCheckAndAuditAlarmW (securitybaseapi.h)

A função AccessCheckAndAuditAlarm determina se um descritor de segurança concede um conjunto especificado de direitos de acesso ao cliente que está sendo representado pelo thread de chamada. Se o descritor de segurança tiver uma SACL com ACEs que se aplicam ao cliente, a função gerará todas as mensagens de auditoria necessárias no log de eventos de segurança.

Sintaxe

BOOL AccessCheckAndAuditAlarmW(
  [in]           LPCWSTR              SubsystemName,
  [in, optional] LPVOID               HandleId,
  [in]           LPWSTR               ObjectTypeName,
  [in, optional] LPWSTR               ObjectName,
  [in]           PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]           DWORD                DesiredAccess,
  [in]           PGENERIC_MAPPING     GenericMapping,
  [in]           BOOL                 ObjectCreation,
  [out]          LPDWORD              GrantedAccess,
  [out]          LPBOOL               AccessStatus,
  [out]          LPBOOL               pfGenerateOnClose
);

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, optional] HandleId

Um ponteiro para um valor exclusivo que representa o identificador do cliente para o objeto . Se o acesso for negado, o sistema ignorará esse valor.

[in] ObjectTypeName

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o tipo de objeto que está sendo criado ou acessado. 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 que especifica o nome do objeto que está sendo criado ou acessado. Essa cadeia de caracteres aparece em qualquer mensagem de auditoria gerada pela função.

[in] SecurityDescriptor

Um ponteiro para a estrutura de SECURITY_DESCRIPTOR na qual o acesso é verificado.

[in] DesiredAccess

Máscara de acesso que especifica os direitos de acesso a marcar. Essa máscara deve ter sido mapeada pela função MapGenericMask para não conter direitos de acesso genéricos.

Se esse parâmetro for MAXIMUM_ALLOWED, a função definirá a máscara de acesso GrantedAccess para indicar os direitos máximos de acesso que o descritor de segurança permite ao cliente.

[in] GenericMapping

Um ponteiro para a estrutura GENERIC_MAPPING associada ao objeto para o qual o acesso está sendo verificado.

[in] ObjectCreation

Especifica um sinalizador que determina se o aplicativo de chamada criará um novo objeto quando o acesso for concedido. Um valor true indica que o aplicativo criará um novo objeto. Um valor false indica que o aplicativo abrirá um objeto existente.

[out] GrantedAccess

Um ponteiro para uma máscara de acesso que recebe os direitos de acesso concedidos. Se AccessStatus estiver definido como FALSE, a função definirá a máscara de acesso como zero. Se a função falhar, ela não definirá a máscara de acesso.

[out] AccessStatus

Um ponteiro para uma variável que recebe os resultados da marcar de acesso. Se o descritor de segurança permitir os direitos de acesso solicitados ao cliente, AccessStatus será definido como TRUE. Caso contrário, AccessStatus será definido como FALSE.

[out] pfGenerateOnClose

Um ponteiro para um sinalizador definido pela rotina de geração de auditoria quando a função retorna. Passe esse sinalizador para a função ObjectCloseAuditAlarm quando o identificador do objeto for 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

Para obter mais informações, consulte a Visão geral de como o AccessCheck funciona .

A função AccessCheckAndAuditAlarm requer que o processo de chamada tenha o privilégio SE_AUDIT_NAME habilitado. O teste para esse privilégio é executado no token primário do processo de chamada, não no token de representação do thread.

A função AccessCheckAndAuditAlarm falhará se o thread de chamada não estiver representando um cliente.

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

Confira também

AccessCheck
Controle de Acesso cliente/servidor
Funções de Controle de Acesso cliente/servidor
GENERIC_MAPPING
Como o AccessCheck funciona
MakeAbsoluteSD
MapGenericMask
ObjectCloseAuditAlarm
ObjectOpenAuditAlarm
ObjectPrivilegeAuditAlarm
Privilegecheck
PrivilegedServiceAuditAlarm
SECURITY_DESCRIPTOR