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 a oggetti file per l'oggetto di cui viene eseguita la 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:
Valore SecurityInformation | Significato |
---|---|
OWNER_SECURITY_INFORMATION | Viene eseguita una query sull'identificatore proprietario dell'oggetto. Richiede READ_CONTROL l'accesso. |
GROUP_SECURITY_INFORMATION | Viene eseguita una query sull'identificatore del gruppo primario dell'oggetto. Richiede READ_CONTROL l'accesso. |
DACL_SECURITY_INFORMATION | Viene eseguita una query sull'elenco di controllo di accesso discrezionale (DACL) dell'oggetto. Richiede READ_CONTROL l'accesso. |
SACL_SECURITY_INFORMATION | Viene eseguita una query sull'elenco di controllo di accesso 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 ha avuto l'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. |
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 relativi membri.
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 di 64 KB a cui punta il parametro SecurityDescriptor è garantito che sia sufficientemente grande da contenere la struttura SECURITY_DESCRIPTOR restituita.
Oggetto che il parametro FileObject punta a 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.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (include Fltkernel.h) |
Libreria | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |