Funzione NtSetSecurityObject (ntifs.h)
La routine NtSetSecurityObject imposta lo stato di sicurezza di un oggetto.
Sintassi
__kernel_entry NTSYSCALLAPI NTSTATUS NtSetSecurityObject(
[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 visualizzata nella descrizione del parametro SecurityInformation .
[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. |
SACL_SECURITY_INFORMATION | Indica che l'ACL di sistema (SACL) dell'oggetto deve essere impostato. Richiede ACCESS_SYSTEM_SECURITY l'accesso. |
DACL_SECURITY_INFORMATION | Indica che deve essere impostato l'elenco DACL (Discretionary Access Control List) dell'oggetto. Richiede WRITE_DAC l'accesso. |
[in] SecurityDescriptor
Puntatore al descrittore di sicurezza da impostare per l'oggetto .
Valore restituito
NtSetSecurityObject 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 | Il chiamante non ha avuto l'accesso richiesto. |
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 ha fatto riferimento 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 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 Modello di sicurezza di Windows per sviluppatori di driver e la documentazione su questi argomenti in Windows SDK.
I minifiltri devono usare FltSetSecurityObject anziché NtSetSecurityObject.
I chiamanti di NtSetSecurityObject devono essere in esecuzione in IRQL = PASSIVE_LEVEL e con API kernel speciali abilitate.
Nota
Se la chiamata alla funzione NtSetSecurityObject viene eseguita in modalità utente, è necessario usare il nome "NtSetSecurityObject" anziché "ZwSetSecurityObject".
Per le chiamate da driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Servizi di sistema nativi di Windows 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 .For more information about the Nt Xxx and Zw versions of the Native System Services Routines.
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, PowerIrpDDis |
Vedi anche
Uso delle versioni Nt e Zw delle routine native di Servizi di sistema