Condividi tramite


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 dell'istanza opaca per il chiamante. Questo parametro è obbligatorio e non può essere NULL.

[in] FileObject

Puntatore all'oggetto file per l'oggetto il cui stato di sicurezza deve essere impostato. Il chiamante deve avere l'accesso specificato nella colonna Significato della tabella illustrata 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 opzioni seguenti.

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

[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 dispone dell'accesso richiesto. Si tratta di un codice di errore.
STATUS_ACCESS_VIOLATION securityDescriptor è un puntatore NULL . 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 punta a un descrittore di sicurezza valido. Si tratta di un codice di errore.
STATUS_INVALID_SID Il descrittore di sicurezza dell'oggetto conteneva 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 è stata chiamata.

Osservazioni

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 forma assoluta o auto-relativa. 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 sulla sicurezza e sul controllo di accesso, vedere la documentazione di questi argomenti in Windows SDK.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione fltkernel.h (include Fltkernel.h)
libreria FltMgr.lib
dll Fltmgr.sys
IRQL PASSIVE_LEVEL

Vedere anche

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

ZwQuerySecurityObject

ZwSetSecurityObject

FltQuerySecurityObject