Share via


FLT_PARAMETERS per l'unione IRP_MJ_PREPARE_MDL_WRITE

Il componente di unione seguente viene utilizzato quando il campo MajorFunction della struttura FLT_IO_PARAMETER_BLOCK per l'operazione viene IRP_MJ_PREPARE_MDL_WRITE.

Sintassi

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    LARGE_INTEGER           FileOffset;
    ULONG POINTER_ALIGNMENT Length;
    ULONG POINTER_ALIGNMENT Key;
    PMDL                    *MdlChain;
  } PrepareMdlWrite;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Members

  • PrepareMdlWrite: struttura contenente i membri seguenti.

  • FileOffset: avvio di byte all'interno del file memorizzato nella cache.

  • Lunghezza: lunghezza, in byte, dei dati da scrivere nel file memorizzato nella cache.

  • Chiave: valore della chiave associato a un blocco di intervallo di byte nel file di destinazione. Se l'intervallo da scrivere si sovrappone o è un sottoinsieme di un intervallo bloccato esclusivamente all'interno del file, questo parametro deve essere la chiave per tale blocco esclusivo. Il blocco esclusivo deve essere mantenuto dal processo padre del thread chiamante; in caso contrario, questo parametro viene ignorato.

  • MdlChain: puntatore a una variabile che riceve un puntatore a una catena di uno o più elenchi di descrittori di memoria (MDL) che descrivono le pagine contenenti i dati da scrivere.

Commenti

La struttura FLT_PARAMETERS per le operazioni di IRP_MJ_PREPARE_MDL_WRITE contiene i parametri per un'operazione di I/O PrepareMdlWrite veloce rappresentata da una struttura di dati di callback (FLT_CALLBACK_DATA). È contenuto in una struttura FLT_IO_PARAMETER_BLOCK.

Se una richiesta di I/O veloce IRP_MJ_PREPARE_MDL_WRITE non riesce, l'autorità emittente dell'I/O determina come eseguire nuovamente la richiesta. Un minifiltro potrebbe non sempre ottenere un IRP_MJ_MDL_WRITE basato su IRP. Ad esempio, la richiesta di IRP potrebbe essere ristampata come IRP_MJ_WRITE/IRP_MN_MDL.

IRP_MJ_PREPARE_MDL_WRITE è un'operazione di I/O veloce.

Requisiti

Tipo di requisito Requisito
Intestazione Fltkernel.h (include Fltkernel.h)

Vedi anche

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS