Funzione FltQuerySecurityObject (fltkernel.h)
FltQuerySecurityObject recupera una copia del descrittore di sicurezza di un oggetto.
Sintassi
NTSTATUS FLTAPI FltQuerySecurityObject(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] SECURITY_INFORMATION SecurityInformation,
[in, out] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] ULONG Length,
[out, optional] PULONG LengthNeeded
);
Parametri
[in] Instance
Puntatore dell'istanza opaca per il chiamante. Questo parametro è obbligatorio e non può essere NULL.
[in] FileObject
Puntatore all'oggetto file per l'oggetto su cui viene eseguita una query sul descrittore di sicurezza. Questo parametro è obbligatorio e non può essere NULL.
[in] SecurityInformation
SECURITY_INFORMATION valore. Questo parametro è obbligatorio e deve essere uno dei seguenti:
SecurityInformation Value | Significato |
---|---|
OWNER_SECURITY_INFORMATION | Viene eseguita una query sull'identificatore proprietario dell'oggetto. Richiede l'accesso READ_CONTROL. |
GROUP_SECURITY_INFORMATION | Viene eseguita una query sull'identificatore del gruppo primario dell'oggetto. Richiede l'accesso READ_CONTROL. |
DACL_SECURITY_INFORMATION | Viene eseguita una query sull'elenco di controllo di accesso discrezionale (DACL) dell'oggetto. Richiede l'accesso READ_CONTROL. |
SACL_SECURITY_INFORMATION | Viene eseguita una query sull'ACL di sistema (SACL) dell'oggetto. Richiede l'accesso ACCESS_SYSTEM_SECURITY. |
[in, out] SecurityDescriptor
Puntatore a un buffer di output fornito dal chiamante che riceve una copia del descrittore di sicurezza per l'oggetto specificato. La struttura SECURITY_DESCRIPTOR viene restituita in formato auto-relativo. Questo parametro è facoltativo e può essere NULL.
[in] Length
Dimensioni, in byte, del buffer securityDescriptor.
[out, optional] LengthNeeded
Puntatore a una variabile allocata dal chiamante che riceve il numero di byte necessari per archiviare il descrittore di sicurezza copiato restituito nel buffer a cui punta il parametro SecurityDescriptor. Questo parametro è facoltativo e può essere NULL.
Valore restituito
FltQuerySecurityObject restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
|
Il chiamante non dispone dell'accesso richiesto. Si tratta di un codice di errore. |
|
Il buffer è troppo piccolo per contenere il descrittore di sicurezza. Nessuna delle informazioni di sicurezza è stata copiata nel buffer. Si tratta di un codice di errore. |
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 relativi membri.
Il file system NTFS impone un limite di 64 KB 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 da 64 KB a cui punta il parametro securityDescriptor di è garantito che sia sufficientemente grande da contenere la struttura SECURITY_DESCRIPTOR restituita.
Oggetto a cui punta il parametro FileObject può rappresentare un flusso di dati denominato. Per altre informazioni sui flussi di dati denominati, vedere FILE_STREAM_INFORMATION.
Per altre informazioni sulla sicurezza e sul controllo di accesso, vedere la documentazione di Microsoft Windows SDK.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | fltkernel.h (include Fltkernel.h) |
libreria | FltMgr.lib |
dll | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |