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 lo stato di sicurezza da impostare. Questo handle deve avere l'accesso specificato nella colonna Significato della tabella visualizzata 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 dell'oggetto da impostare. Richiede WRITE_DAC accesso. |
GROUP_SECURITY_INFORMATION | Indica che l'identificatore del gruppo primario dell'oggetto deve essere impostato. Richiede l'accesso WRITE_OWNER. |
OWNER_SECURITY_INFORMATION | Indica che l'identificatore proprietario dell'oggetto deve essere impostato. Richiede l'accesso WRITE_OWNER. |
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
ZwSetSecurityObject restituisce STATUS_SUCCESS o uno stato di errore appropriato. I codici di stato degli errori possibili includono quanto segue:
Codice restituito | Descrizione |
---|---|
STATUS_ACCESS_DENIED | Handle non dispone dei diritti di accesso necessari. |
STATUS_ACCESS_VIOLATION | SecurityDescriptor è un puntatoreNULL . |
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. |
Commenti
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" nella sezione Sicurezza della documentazione di Windows SDK.
Per altre informazioni sul controllo di sicurezza e accesso, vedere Modello di sicurezza di Windows per sviluppatori driver e la documentazione su questi argomenti in Windows SDK.
I minifilter 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, è consigliabile usare il nome "NtSetSecurityObject" anziché "ZwSetSecurityObject".
Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx 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 Uso di nt e zw versioni delle routine di Servizi di sistema nativo.
Requisiti
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) |
Vedi anche
Uso di nt e zw versioni delle routine di Servizi di sistema nativo