IRP_MJ_QUERY_SECURITY (fs e driver di filtro)

Data di invio

Gestione I/O invia la richiesta di IRP_MJ_QUERY_SECURITY. Può essere inviato, ad esempio, quando un'applicazione in modalità utente ha chiamato una funzione Win32, ad esempio GetSecurityInfo.

Operazione: Driver di file system

Il driver del file system deve estrarre e decodificare l'oggetto file per determinare se rappresenta un file utente o una directory aperta. In caso contrario, il driver deve elaborare la query e completare l'IRP. In caso contrario, il driver deve completare l'IRP in base alle esigenze senza elaborare la query.

Operazione: Driver di filtro del file system legacy

Il driver di filtro deve passare questo IRP fino al driver inferiore successivo nello stack.

Parametri

Un file system o un driver di filtro chiama IoGetCurrentIrpStackLocation per l'IRP specificato per ottenere un puntatore alla propria posizione dello stack in IRP. Nei parametri seguenti, Irp punta a IRP e IrpSp punta al IO_STACK_LOCATION. Il driver può usare le informazioni impostate nei membri seguenti dell'IRP e del percorso dello stack IRP per elaborare una richiesta di sicurezza delle query:

  • DeviceObject è un puntatore all'oggetto dispositivo di destinazione.

  • Irp->IoStatus punta a una struttura IO_STATUS_BLOCK che riceve lo stato di completamento finale e le informazioni sull'operazione richiesta.

  • Irp->UserBuffer punta a un buffer di output fornito dal chiamante che riceve una copia del descrittore di sicurezza dell'oggetto specificato. Il processo chiamante deve avere il diritto di visualizzare gli aspetti specificati dello stato di sicurezza dell'oggetto. La struttura SECURITY_DESCRIPTOR viene restituita in formato auto-relativo .

  • IrpSp->FileObject punta all'oggetto file associato a DeviceObject.

    In Windows XP e versioni successive l'oggetto file può rappresentare un flusso di dati denominato. Per altre informazioni sui flussi di dati denominati, vedere FILE_STREAM_INFORMATION.

    Il parametro IrpSp-FileObject> contiene un puntatore al campo RelatedFileObject, che è anche una struttura FILE_OBJECT. Il campo RelatedFileObject della struttura FILE_OBJECT non è valido durante l'elaborazione di IRP_MJ_QUERY_SECURITY e non deve essere usato.

  • IrpSp->MajorFunction è impostato su IRP_MJ_QUERY_SECURITY.

  • IrpSp->Parameters.QuerySecurity.Length è la dimensione, in byte, del buffer a cui punta il parametro Irp-UserBuffer>.

  • IrpSp->Parameters.QuerySecurity.SecurityInformation punta alla struttura SECURITY_INFORMATION per l'operazione. Questo valore può essere una combinazione valida dei bit seguenti.

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

Vedi anche

FILE_STREAM_INFORMATION

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_SET_SECURITY

SECURITY_DESCRIPTOR

SECURITY_INFORMATION