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
STATUS_ACCESS_DENIED
Il chiamante non ha avuto l'accesso richiesto. Si tratta di un codice di errore.
STATUS_BUFFER_TOO_SMALL
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

Vedi anche

FILE_STREAM_INFORMATION

SECURITY_DESCRIPTOR

SECURITY_INFORMATION