Funzione ObjectPrivilegeAuditAlarmW (securitybaseapi.h)

La funzione ObjectPrivilegeAuditAlarm genera un messaggio di controllo nel registro eventi di sicurezza. Un server protetto può usare questa funzione per registrare i tentativi da parte di un client di usare un set specificato di privilegi con un handle aperto a un oggetto privato. Gli avvisi non sono attualmente supportati.

Sintassi

BOOL ObjectPrivilegeAuditAlarmW(
  [in] LPCWSTR        SubsystemName,
  [in] LPVOID         HandleId,
  [in] HANDLE         ClientToken,
  [in] DWORD          DesiredAccess,
  [in] PPRIVILEGE_SET Privileges,
  [in] BOOL           AccessGranted
);

Parametri

[in] SubsystemName

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

[in] HandleId

Puntatore a un valore univoco che rappresenta l'handle del client all'oggetto.

[in] ClientToken

Identifica un token di accesso che rappresenta il client che ha richiesto l'operazione. Questo handle deve essere stato ottenuto aprendo il token di un thread che rappresenta il client. Il token deve essere aperto per l'accesso TOKEN_QUERY. La funzione usa questo token per ottenere l'identità del client per il messaggio di controllo.

[in] DesiredAccess

Specifica una maschera di accesso che indica i tipi di accesso con privilegi usati o il cui utilizzo viene tentato. La maschera di accesso può essere mappata dalla funzione MapGenericMask in modo che non contenga alcun tipo di accesso generico.

[in] Privileges

Puntatore a una struttura PRIVILEGE_SET contenente i privilegi che il client ha tentato di usare. I nomi dei privilegi vengono visualizzati nel messaggio di controllo.

[in] AccessGranted

Indica se il tentativo del client di usare i privilegi è stato completato. Se questo valore è TRUE, il messaggio di controllo indica l'esito positivo. Se questo valore è FALSE, il messaggio di controllo indica un errore.

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 ObjectPrivilegeAuditAlarm non controlla l'accesso del client all'oggetto o controlla il token di accesso del client per determinare se i privilegi vengono mantenuti o abilitati. In genere, si chiama la funzione PrivilegeCheck per determinare se i privilegi specificati sono abilitati nel token di accesso, chiamare la funzione AccessCheck per controllare l'accesso del client all'oggetto e quindi chiamare ObjectPrivilegeAuditAlarm per registrare i risultati.

La funzione ObjectPrivilegeAuditAlarm richiede che il processo chiamante abbia SE_AUDIT_NAME privilegio 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 securitybaseapi.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

AccessCheck
AccessCheckAndAuditAlarm
Funzioni di Controllo di accesso client/server
Panoramica Controllo di accesso client/server
MapGenericMask
ObjectCloseAuditAlarm
ObjectOpenAuditAlarm
PRIVILEGE_SET
PrivilegeCheck
PrivilegedServiceAuditAlarm