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
Controllo di accesso client/server