FLT_PARAMETERS per l'unione IRP_MJ_NETWORK_QUERY_OPEN
Il componente di unione seguente viene utilizzato quando il campo MajorFunction della struttura FLT_IO_PARAMETER_BLOCK per l'operazione viene IRP_MJ_NETWORK_QUERY_OPEN.
Sintassi
typedef union _FLT_PARAMETERS {
... ;
struct {
PIRP Irp;
PFILE_NETWORK_OPEN_INFORMATION NetworkInformation;
} NetworkQueryOpen;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Membri
NetworkQueryOpen: struttura contenente i membri seguenti.
Irp: puntatore a un IRP di creazione che rappresenta questa operazione aperta. Questo IRP deve essere usato dal file system per il codice open/create comune, ma non è stato effettivamente completato.
NetworkInformation: puntatore a un buffer strutturato FILE_NETWORK_OPEN_INFORMATION per ricevere le informazioni richieste sul file.
Osservazioni:
La struttura FLT_PARAMETERS per le operazioni IRP_MJ_NETWORK_QUERY_OPEN contiene i parametri per un'operazione NetworkQueryOpen rappresentata da una struttura (FLT_CALLBACK_DATA). La struttura FLT_PARAMETERS è contenuta in una struttura FLT_IO_PARAMETER_BLOCK .
Nota
L'oggetto file associato a IRP_MJ_NETWORK_QUERY_OPEN è un oggetto basato su stack. Un filtro registrato per il callback NetworkQueryOpen non deve fare riferimento a questo oggetto. Ovvero, non chiamare ObReferenceObject o ObDereferenceObject su questo oggetto file basato su stack e non salvare un puntatore all'oggetto .
IRP_MJ_NETWORK_QUERY_OPEN è un'operazione di I/O veloce. Equivale all'operazione FastIoQueryOpen (non FastIoQueryNetworkOpenInfo). Un filtro può rifiutare l'operazione nel callback precedente all'operazione usando FLT_PREOP_DISALLOW_FASTIO. Non può rifiutare l'operazione nel callback post-operazione perché il file system ha già completato l'operazione e i dati sono presenti.
Requisiti
Tipo di requisito | Requisito |
---|---|
Intestazione | Fltkernel.h (include Fltkernel.h) |