Share via


Funzione ObjectOpenAuditAlarmA (winbase.h)

La funzione ObjectOpenAuditAlarm genera messaggi di controllo quando un'applicazione client tenta di accedere a un oggetto o di crearne uno nuovo. Gli avvisi non sono attualmente supportati.

Sintassi

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
);

Parametri

[in] SubsystemName

Puntatore a una stringa con terminazione null specificando il nome del sottosistema che chiama la funzione. Questa stringa viene visualizzata in qualsiasi messaggio di controllo generato dalla funzione.

[in] HandleId

Puntatore a un valore univoco che rappresenta l'handle del client all'oggetto. Se l'accesso viene negato, questo parametro viene ignorato.

Per la compatibilità tra piattaforme, il valore indirizzato da questo puntatore deve essere di dimensioniof(LPVOID) byte lunghi.

[in] ObjectTypeName

Puntatore a una stringa con terminazione null specificando il tipo di oggetto a cui il client richiede l'accesso. Questa stringa viene visualizzata in qualsiasi messaggio di controllo generato dalla funzione.

[in, optional] ObjectName

Puntatore a una stringa con terminazione null specificando il nome dell'oggetto a cui il client richiede l'accesso. Questa stringa viene visualizzata in qualsiasi messaggio di controllo generato dalla funzione.

[in] pSecurityDescriptor

Puntatore alla struttura SECURITY_DESCRIPTOR per l'oggetto a cui si accede.

[in] ClientToken

Identifica un token di accesso che rappresenta il client che richiede l'operazione. Questo handle deve essere ottenuto aprendo il token di un thread che rappresenta il client. Il token deve essere aperto per l'accesso TOKEN_QUERY.

[in] DesiredAccess

Specifica la maschera di accesso desiderata. Questa maschera deve essere stata mappata in precedenza dalla funzione MapGenericMask per non contenere diritti di accesso generici.

[in] GrantedAccess

Specifica una maschera di accesso che indica quali diritti di accesso vengono concessi. Questa maschera di accesso è destinata a essere lo stesso valore impostato da una delle funzioni di controllo degli accessi nel relativo parametro GrantedAccess . Esempi di funzioni di controllo degli accessi includono AccessCheckAndAuditAlarm e AccessCheck.

[in, optional] Privileges

Puntatore a una struttura PRIVILEGE_SET che specifica il set di privilegi necessari per il tentativo di accesso. Questo parametro può essere NULL.

[in] ObjectCreation

Specifica un flag che determina se l'applicazione crea un nuovo oggetto quando viene concesso l'accesso. Quando questo valore è TRUE, l'applicazione crea un nuovo oggetto; quando è FALSE, l'applicazione apre un oggetto esistente.

[in] AccessGranted

Specifica un flag che indica se l'accesso è stato concesso o negato in una chiamata precedente a una funzione di controllo degli accessi, ad esempio AccessCheck. Se l'accesso è stato concesso, questo valore è TRUE. In caso contrario, è FALSE.

[out] GenerateOnClose

Puntatore a un flag impostato dalla routine di generazione di controllo quando la funzione restituisce. Questo valore deve essere passato alla funzione ObjectCloseAuditAlarm quando l'handle dell'oggetto viene chiuso.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

La funzione ObjectOpenAuditAlarm richiede che l'applicazione chiamante disponga del privilegio SE_AUDIT_NAME abilitato. Il test per questo privilegio viene sempre eseguito contro il token primario del processo chiamante, non il token di rappresentazione del thread. Ciò consente al processo chiamante di rappresentare un client durante la chiamata.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

AccessCheck

AccessCheckAndAuditAlarm

AreAllAccessesGranted

AreAnyAccessesGranted

Controllo di accesso client/server

Funzioni di Controllo di accesso client/server

MapGenericMask

ObjectCloseAuditAlarm

ObjectDeleteAuditAlarm

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR