Funzione NtQuerySecurityObject (ntifs.h)

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

Sintassi

__kernel_entry NTSYSCALLAPI NTSTATUS NtQuerySecurityObject(
  [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 da eseguire come combinazione di una o più delle operazioni seguenti.

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

[out] SecurityDescriptor

Buffer allocato dal chiamante che NtQuerySecurityObject 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

NtQuerySecurityObject 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 ha avuto l'accesso richiesto.
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 è stato un handle valido.
STATUS_OBJECT_TYPE_MISMATCH Handle non è stato un handle del tipo previsto.

Commenti

I minifilter devono chiamare FltQuerySecurityObject.

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.

Il file system NTFS impone un limite di 64K alle 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 64K SecurityDescriptor è garantito essere abbastanza grande per contenere la struttura SECURITY_DESCRIPTOR restituita.

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.

Nota

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

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

Vedi anche

FltQuerySecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

NtSetSecurityObject