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 |