Funzione ObjectOpenAuditAlarmW (securitybaseapi.h)

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

Sintassi

BOOL ObjectOpenAuditAlarmW(
  [in]           LPCWSTR              SubsystemName,
  [in]           LPVOID               HandleId,
  [in]           LPWSTR               ObjectTypeName,
  [in, optional] LPWSTR               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 che specifica 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 per l'oggetto. Se l'accesso viene negato, questo parametro viene ignorato.

Per la compatibilità multipiattaforma, il valore indirizzato da questo puntatore deve essere di lunghezza di byte sizeof(LPVOID).

[in] ObjectTypeName

Puntatore a una stringa con terminazione Null che specifica 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 che specifica 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 i diritti di accesso concessi. Questa maschera di accesso deve essere lo stesso valore impostato da una delle funzioni di controllo di accesso nel parametro GrantedAccess . Esempi di funzioni di controllo di accesso 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 di accesso, 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 del controllo quando la funzione viene restituita. 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 abbia il privilegio di SE_AUDIT_NAME abilitato. Il test di questo privilegio viene sempre eseguito sul token primario del processo chiamante, non sul token di rappresentazione del thread. In questo modo il processo chiamante può rappresentare un client durante la chiamata.

Requisiti

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

Vedi anche

AccessCheck
AccessCheckAndAuditAlarmAreAllAccessesGranted
AreAnyAccessesGranted
Controllo di accesso client/server
Funzioni di Controllo di accesso client/server
MapGenericMask
ObjectCloseAuditAlarmObjectDeleteAuditAlarm
ObjectPrivilegeAuditAlarm
PRIVILEGE_SET
PrivilegeCheck
PrivilegedServiceAuditAlarm
SECURITY_DESCRIPTOR