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.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per