Funzione FltSetSecurityObject (fltkernel.h)

FltSetSecurityObject imposta lo stato di sicurezza di un oggetto.

Sintassi

NTSTATUS FLTAPI FltSetSecurityObject(
  [in] PFLT_INSTANCE        Instance,
  [in] PFILE_OBJECT         FileObject,
  [in] SECURITY_INFORMATION SecurityInformation,
  [in] PSECURITY_DESCRIPTOR SecurityDescriptor
);

Parametri

[in] Instance

Puntatore istanza opaca per il chiamante. Questo parametro è obbligatorio e non può essere NULL.

[in] FileObject

Puntatore a oggetti file per l'oggetto lo stato di sicurezza da impostare. Il chiamante deve avere l'accesso specificato nella colonna Significato della tabella visualizzata nella descrizione del parametro SecurityInformation . Questo parametro è obbligatorio e non può essere NULL.

[in] SecurityInformation

SECURITY_INFORMATION valore che specifica le informazioni da impostare come combinazione di una o più delle seguenti informazioni.

Valore Significato
OWNER_SECURITY_INFORMATION Indica che l'identificatore proprietario dell'oggetto deve essere impostato. Richiede l'accesso WRITE_OWNER.
GROUP_SECURITY_INFORMATION Indica che l'identificatore del gruppo primario dell'oggetto deve essere impostato. Richiede l'accesso WRITE_OWNER.
DACL_SECURITY_INFORMATION Indica l'elenco di controllo di accesso discrezionale dell'oggetto da impostare. Richiede WRITE_DAC accesso.
SACL_SECURITY_INFORMATION Indica che l'ACL di sistema (SACL) dell'oggetto deve essere impostato. Richiede ACCESS_SYSTEM_SECURITY accesso.

[in] SecurityDescriptor

Puntatore al descrittore di sicurezza da impostare per l'oggetto.

Valore restituito

FltSetSecurityObject restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:

Codice restituito Descrizione
STATUS_ACCESS_DENIED Il chiamante non ha avuto l'accesso richiesto. Si tratta di un codice di errore.
STATUS_ACCESS_VIOLATION SecurityDescriptor è un puntatoreNULL . Si tratta di un codice di errore.
STATUS_INSUFFICIENT_RESOURCES Impossibile acquisire il descrittore di sicurezza dell'oggetto. Si tratta di un codice di errore.
STATUS_INVALID_ACL Il descrittore di sicurezza dell'oggetto contiene un elenco di controllo di accesso non valido. Si tratta di un codice di errore.
STATUS_INVALID_SECURITY_DESCR SecurityDescriptor non ha fatto riferimento a un descrittore di sicurezza valido. Si tratta di un codice di errore.
STATUS_INVALID_SID Il descrittore di sicurezza dell'oggetto contiene un SID non valido. Si tratta di un codice di errore.
STATUS_UNKNOWN_REVISION Il livello di revisione del descrittore di sicurezza dell'oggetto è sconosciuto o non supportato. Si tratta di un codice di errore.
STATUS_NOT_IMPLEMENTED La routine FltSetSecurityObject è presente ma non supportata nell'ambiente del sistema operativo in cui è stato chiamato.

Commenti

La routine FltSetSecurityObject è presente e supportata a partire da Windows Vista. In Windows 2000, Windows XP e Server 2003 SP1, la routine è presente ma non supportata e restituirà STATUS_NOT_IMPLEMENTED se chiamato in uno di questi ambienti.

Un descrittore di sicurezza può essere in formato assoluto o auto-relativo. In forma auto-relativa, tutti i membri della struttura si trovano contiguamente in memoria. In forma assoluta, la struttura contiene solo puntatori ai membri. Per altre informazioni, vedere Descrittori di sicurezza assoluti e Self-Relative.

Per altre informazioni sul controllo di sicurezza e accesso, vedere la documentazione di questi argomenti in Windows SDK.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (includere Fltkernel.h)
Libreria FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Vedi anche

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

ZwQuerySecurityObject

ZwSetSecurityObject

FltQuerySecurityObject