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 |