Condividi tramite


Funzione AccessCheckAndAuditAlarmA (winbase.h)

La funzione AccessCheckAndAuditAlarm determina se un descrittore di sicurezza concede un set specificato di diritti di accesso al client rappresentato dal thread chiamante. Se il descrittore di sicurezza ha un sacl con ACL che si applica al client, la funzione genera eventuali messaggi di controllo necessari nel registro eventi di sicurezza.

Gli avvisi non sono attualmente supportati.

Sintassi

BOOL AccessCheckAndAuditAlarmA(
  [in]           LPCSTR               SubsystemName,
  [in, optional] LPVOID               HandleId,
  [in]           LPSTR                ObjectTypeName,
  [in, optional] LPSTR                ObjectName,
  [in]           PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]           DWORD                DesiredAccess,
  [in]           PGENERIC_MAPPING     GenericMapping,
  [in]           BOOL                 ObjectCreation,
  [out]          LPDWORD              GrantedAccess,
  [out]          LPBOOL               AccessStatus,
  [out]          LPBOOL               pfGenerateOnClose
);

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, optional] HandleId

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

[in] ObjectTypeName

Puntatore a una stringa con terminazione null specificando il tipo di oggetto creato o accessibile. 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 creato o a cui si accede. Questa stringa viene visualizzata in qualsiasi messaggio di controllo generato dalla funzione.

[in] SecurityDescriptor

Puntatore alla struttura SECURITY_DESCRIPTOR a cui viene controllato l'accesso.

[in] DesiredAccess

Maschera di accesso che specifica i diritti di accesso da controllare. Questa maschera deve essere stata mappata dalla funzione MapGenericMask per non contenere diritti di accesso generici.

Se questo parametro è MAXIMUM_ALLOWED, la funzione imposta la maschera di accesso GrantedAccess per indicare i diritti di accesso massimo consentiti dal descrittore di sicurezza.

[in] GenericMapping

Puntatore alla struttura GENERIC_MAPPING associata all'oggetto per cui viene controllato l'accesso.

[in] ObjectCreation

Specifica un flag che determina se l'applicazione chiamante creerà un nuovo oggetto quando viene concesso l'accesso. Un valore true indica che l'applicazione creerà un nuovo oggetto. Un valore false indica che l'applicazione aprirà un oggetto esistente.

[out] GrantedAccess

Puntatore a una maschera di accesso che riceve i diritti di accesso concessi. Se AccessStatus è impostato su FALSE, la funzione imposta la maschera di accesso su zero. Se la funzione ha esito negativo, non imposta la maschera di accesso.

[out] AccessStatus

Puntatore a una variabile che riceve i risultati del controllo di accesso. Se il descrittore di sicurezza consente i diritti di accesso richiesti al client, AccessStatus è impostato su TRUE. In caso contrario, AccessStatus è impostato su FALSE.

[out] pfGenerateOnClose

Puntatore a un flag impostato dalla routine di generazione di controllo quando la funzione restituisce. Passare questo flag 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

Per altre informazioni, vedere la panoramica su Come AccessCheck Works .

La funzione AccessCheckAndAuditAlarm richiede che il processo chiamante disponga del privilegio SE_AUDIT_NAME abilitato. Il test di questo privilegio viene eseguito con il token primario del processo chiamante, non il token di rappresentazione del thread.

La funzione AccessCheckAndAuditAlarm non riesce se il thread chiamante non rappresenta un client.

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

AccessCheck

Controllo di accesso client/server

Funzioni di Controllo di accesso client/server

GENERIC_MAPPING

Funzionamento di AccessCheck

MakeAbsoluteSD

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

ObjectPrivilegeAuditAlarm

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR