Condividi tramite


Gestione dei segnaposto

Linee guida per minifiltri che implementano segnaposto

Tutte le implementazioni di virtualizzazione che usano segnaposto devono impostare l'attributo di file FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS su questi segnaposto. Questo attributo indica che:

  • La lettura di tali file da sotto il minifiltro proprietario potrebbe restituire 0s e
  • La lettura di tali file al di sopra del minifiltro proprietario comporta il costo aggiuntivo di fornire i dati.

Un minifiltro può rimuovere questo attributo dal segnaposto dopo che tutti i dati sono disponibili localmente.

Tutti i minifiltri che implementano segnaposto devono trovarsi nel HSM Load Order Group.

Linee guida per tutti i minifiltri

I filtri non devono emettere letture/scritture mirate da istanze di filtro al di sotto del gruppo di ordine di caricamento HSM per i file che hanno l'attributo FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS impostato. Questa situazione potrebbe causare il danneggiamento dei dati dei file. Uno sviluppatore di minifiltri potrebbe tentare di aggirare questa situazione inviando una richiesta di I/O all'inizio dello stack, ma tale richiesta potrebbe causare deadlock.

I filtri non devono inoltre emettere letture e scritture nei file segnaposto con l'attributo FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS impostato al di sopra del gruppo di ordine di carico HSM. Tale lettura o scrittura causa un'idratazione non necessaria quando nessuna applicazione utente ha richiesto i dati del file.

Un minifiltro non dovrebbe effettuare letture/scritture quando si intercettano aperture di soli attributi. Tali operazioni di lettura/scrittura possono causare deadlock perché alcune implementazioni non prevedono che vengano aperti solo attributi da convertire in operazioni di accesso ai dati. Inoltre, tali letture/scritture vanificano lo scopo di un controllo da parte di un minifiltro per FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS in modo da evitare le due situazioni precedentemente menzionate.

Pertanto, è consigliabile che tutti i minifiltri non devono emettere letture/scritture nei file con FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS impostato.