Funzione ObjectPrivilegeAuditAlarmA (winbase.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 ObjectPrivilegeAuditAlarmA(
[in] LPCSTR 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
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
Funzioni di Controllo di accesso client/server