Funzione ZwSetSecurityObject (ntifs.h)
La routine ZwSetSecurityObject imposta lo stato di sicurezza di un oggetto.
Sintassi
NTSYSAPI NTSTATUS ZwSetSecurityObject(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR SecurityDescriptor
);
Parametri
[in] Handle
Handle per l'oggetto il cui stato di sicurezza deve essere impostato. Questo handle deve avere l'accesso specificato nella colonna Significato della tabella illustrata nella descrizione del parametro SecurityInformation.
[in] SecurityInformation
Valore SECURITY_INFORMATIONche specifica le informazioni da impostare. Può essere una combinazione di uno o più dei valori seguenti.
Valore | Significato |
---|---|
DACL_SECURITY_INFORMATION | Indica l'elenco di controllo di accesso discrezionale (DACL) dell'oggetto da impostare. Richiede l'accesso WRITE_DAC. |
GROUP_SECURITY_INFORMATION | Indica l'identificatore del gruppo primario dell'oggetto da impostare. Richiede WRITE_OWNER l'accesso. |
OWNER_SECURITY_INFORMATION | Indica che l'identificatore proprietario dell'oggetto deve essere impostato. Richiede WRITE_OWNER l'accesso. |
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
ZwSetSecurityObject restituisce STATUS_SUCCESS o uno stato di errore appropriato. I codici di stato di errore possibili includono quanto segue:
Codice restituito | Descrizione |
---|---|
STATUS_ACCESS_DENIED | Handle non dispone dei diritti di accesso necessari. |
STATUS_ACCESS_VIOLATION | |
STATUS_INSUFFICIENT_RESOURCES | Impossibile acquisire il descrittore di sicurezza dell'oggetto. |
STATUS_INVALID_ACL | Il descrittore di sicurezza dell'oggetto contiene un elenco di controllo di accesso non valido. |
STATUS_INVALID_HANDLE | Handle non è un handle valido. |
STATUS_INVALID_SECURITY_DESCR | securityDescriptor non punta a un descrittore di sicurezza valido. |
STATUS_INVALID_SID | Il descrittore di sicurezza dell'oggetto contiene un SID non valido. |
STATUS_OBJECT_TYPE_MISMATCH | handle non è un handle del tipo previsto. |
STATUS_UNKNOWN_REVISION | Il livello di revisione del descrittore di sicurezza dell'oggetto è sconosciuto o non è supportato. |
Osservazioni
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" nella sezione Sicurezza della documentazione di Windows SDK.
Per altre informazioni sulla sicurezza e sul controllo di accesso, vedere modello di sicurezza di Windows per sviluppatori di driver e la documentazione su questi argomenti in Windows SDK.
I minifiltri devono usare FltSetSecurityObject anziché ZwSetSecurityObject.
I chiamanti di ZwSetSecurityObject devono essere in esecuzione in IRQL = PASSIVE_LEVEL e con API kernel speciali abilitate.
Nota
Se la chiamata alla funzione ZwSetSecurityObject si verifica in modalità utente, è necessario usare il nome "NtSetSecurityObject" anziché "ZwSetSecurityObject".
Per le chiamate da driver in modalità kernel, le NtXxx e ZwXxx versioni di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Using Nt and Zw Versions of the Native System Services Routines.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP |
piattaforma di destinazione | Universale |
intestazione |
ntifs.h (include Ntifs.h) |
libreria |
NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |
regole di conformità DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
Vedere anche
uso di versioni Nt e Zw delle routine di Servizi di sistema nativi