Condividi tramite


IRP-Based operazioni di I/O che obbediscono ai flag dell'oggetto dispositivo

Il metodo di buffering per le operazioni di I/O basate su I/O seguenti è determinato dal valore del membro Flag della struttura di DEVICE_OBJECT per il volume del file system:

  • IRP_MJ_DIRECTORY_CONTROL

  • IRP_MJ_QUERY_EA

  • IRP_MJ_QUERY_QUOTA

  • IRP_MJ_READ

  • IRP_MJ_SET_EA

  • IRP_MJ_SET_QUOTA

  • IRP_MJ_WRITE

I flag di DO_BUFFERED_IO e DO_DIRECT_IO nel membro Flags vengono usati come segue:

  • Se il flag di DO_BUFFERED_IO è impostato, l'operazione usa l'I/O con buffer.

  • Se il flag di DO_DIRECT_IO è impostato e il flag di DO_BUFFERED_IO non è impostato, l'operazione usa l'I/O diretta.

  • Se nessun flag è impostato, l'operazione usa né buffering né I/O diretto.

Per altre informazioni sui flag degli oggetti dispositivo, vedere DEVICE_OBJECT e Inizializzazione di un oggetto Device.

Si noti che IRP_MJ_READ e IRP_MJ_WRITE possono essere operazioni di I/O basate su IRP o veloci. Quando sono basati su IRP, il metodo di buffering viene determinato dai flag dell'oggetto dispositivo, come descritto in precedenza. Quando queste operazioni sono veloci di I/O, non usano sempre buffering né I/O diretto. Per altre informazioni sulle operazioni di I/O che possono essere operazioni di I/O basate su IRP o veloci, vedere Operazioni che possono essere IRP-Based o I/O veloci.