Condividi tramite


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 SecurityDescriptor è un puntatore NULL .
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

FltSetSecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

uso di versioni Nt e Zw delle routine di Servizi di sistema nativi

ZwQuerySecurityObject