Condividi tramite


Configurazione di IRP nei driver intermedi

Qualsiasi driver intermedio a livelli tra un driver di file system e un driver di dispositivo multimediale rimovibile deve configurare la posizione dello stack I/O di livello inferiore successivo in IRP. Dal IRP_MJ_READ in ingresso, IRP_MJ_WRITE e IRP_MJ_DEVICE_CONTROL richieste, il driver intermedio deve copiare i flag di posizione dello stack I/O nel percorso dello stack I/O successivo quando configura la posizione dello stack I/O per il driver inferiore inferiore.

Se il driver intermedio alloca nuovi IRP per i driver di supporti rimovibili di livello inferiore, è necessario configurare tali irP come indicato di seguito:

  • Per le richieste di trasferimento, deve configurare il contesto del thread in ogni IRP allocata dal driver dal valore in Tail.Overlay.Thread nell'IRP originale.

  • Per IRP_MJ_READ, IRP_MJ_WRITEe IRP_MJ_DEVICE_CONTROL richieste, è necessario copiare i flag di posizione dello stack di I/O dall'IRP originale a ogni IRP allocata da driver.

In caso contrario, il file system non può mantenere l'integrità dei dati dei file memorizzati nella cache né richiedere all'utente di rimontare il supporto che contiene un file aperto.