Condividi tramite


Funzione ZwQuerySecurityObject (ntifs.h)

La routine ZwQuerySecurityObject recupera una copia del descrittore di sicurezza di un oggetto.

Sintassi

NTSYSAPI NTSTATUS ZwQuerySecurityObject(
  [in]  HANDLE               Handle,
  [in]  SECURITY_INFORMATION SecurityInformation,
  [out] PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]  ULONG                Length,
  [out] PULONG               LengthNeeded
);

Parametri

[in] Handle

Handle per l'oggetto il cui descrittore di sicurezza deve essere sottoposto a query. Questo handle deve avere l'accesso specificato nella colonna Significato della tabella visualizzata nella descrizione del parametro SecurityInformation .

[in] SecurityInformation

Valore SECURITY_INFORMATION che specifica le informazioni su cui eseguire una query come combinazione di una o più delle opzioni seguenti.

Valore Significato
OWNER_SECURITY_INFORMATION Viene eseguita una query sull'identificatore del proprietario dell'oggetto. Richiede READ_CONTROL l'accesso.
GROUP_SECURITY_INFORMATION Viene eseguita una query sull'identificatore di gruppo primario dell'oggetto. Richiede READ_CONTROL l'accesso.
SACL_SECURITY_INFORMATION Viene eseguita una query sull'ACL di sistema (SACL) dell'oggetto. Richiede ACCESS_SYSTEM_SECURITY l'accesso.
DACL_SECURITY_INFORMATION Viene eseguita una query sull'elenco di controllo di accesso discrezionale (DACL) dell'oggetto. Richiede READ_CONTROL l'accesso.

[out] SecurityDescriptor

Buffer allocato dal chiamante che ZwQuerySecurityObject riempie con una copia del descrittore di sicurezza specificato. La struttura SECURITY_DESCRIPTOR viene restituita in formato auto-relativo.

[in] Length

Dimensioni, in byte, del buffer a cui punta SecurityDescriptor.

[out] LengthNeeded

Puntatore a una variabile allocata dal chiamante che riceve il numero di byte necessari per archiviare il descrittore di sicurezza copiato.

Valore restituito

ZwQuerySecurityObject 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 ha avuto l'accesso necessario.
STATUS_BUFFER_TOO_SMALL Il buffer è troppo piccolo per il descrittore di sicurezza. Nessuna delle informazioni di sicurezza è stata copiata nel buffer.
STATUS_INVALID_HANDLE Handle non è un handle valido.
STATUS_OBJECT_TYPE_MISMATCH Handle non è un handle del tipo previsto.

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.

Il file system NTFS impone un limite di 64 KB per le dimensioni del descrittore di sicurezza scritto su disco per un file. Il file system FAT non supporta i descrittori di sicurezza per i file. Pertanto, un buffer SecurityDescriptor 64K è garantito che sia sufficientemente grande da contenere la struttura SECURITY_DESCRIPTOR restituita.

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 chiamare FltQuerySecurityObject anziché ZwQuerySecurityObject.

Nota

Se la chiamata alla funzione ZwQuerySecurityObject si verifica in modalità utente, è necessario usare il nome "NtQuerySecurityObject" anziché "ZwQuerySecurityObject".

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
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedi anche

FltQuerySecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

ZwSetSecurityObject