Funzione FsRtlChangeBackingFileObject (ntifs.h)
La routine FsRtlChangeBackingFileObject sostituisce l'oggetto file corrente con un nuovo oggetto file.
Sintassi
NTSTATUS FsRtlChangeBackingFileObject(
PFILE_OBJECT CurrentFileObject,
PFILE_OBJECT NewFileObject,
FSRTL_CHANGE_BACKING_TYPE ChangeBackingType,
ULONG Flags
);
Parametri
CurrentFileObject
[in, facoltativo] Oggetto file corrente. Se CurrentFileObject è NULL, l'oggetto file corrente del sistema operativo è impostato su NewFileObject. Se non è NULL, l'oggetto file di backup viene modificato in NewFileObject solo se l'oggetto file di backup corrente del sistema operativo è uguale a questo valore. Se questo oggetto file non appartiene al flusso, l'operazione ha esito negativo.
NewFileObject
[in] Nuovo oggetto file a cui farà riferimento il sistema operativo e che archivierà internamente.
ChangeBackingType
[in] Valore di enumerazione FSRTL_CHANGE_BACKING_TYPE che indica quale struttura interna deve essere modificata per fare riferimento a NewFileObject.
Flags
[in] Riservato per l'uso futuro.
Valore restituito
La routine FsRtlChangeBackingFileObject restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, FsRtlChangeBackingFileObject restituisce il codice di errore appropriato. La tabella seguente contiene codici di errore restituiti da FsRtlChangeBackingFileObject .
Codice restituito | Descrizione |
---|---|
STATUS_INVALID_PARAMETER_2 | L'operazione di modifica non è riuscita perché l'oggetto file specificato da NewFileObject non rappresenta lo stesso flusso di CurrentFileObject . |
STATUS_INVALID_PARAMETER_3 | L'operazione di modifica non è riuscita perché il chiamante ha specificato un tipo di backup non valido in ChangeBackingType. |
STATUS_INVALID_PARAMETER_4 | Operazione di modifica non riuscita perché il chiamante ha specificato un valore non valido in Flag. |
STATUS_NOT_SUPPORTED | L'operazione di modifica non è riuscita perché il chiamante ha ottenuto l'oggetto file in modo che non consenta lo scambio successivo dell'oggetto file. Ad esempio, se il chiamante ha ottenuto l'oggetto file con una chiamata a CcGetFileObjectFromSectionPtrs, non è sicuro scambiare l'oggetto file. |
Commenti
La routine FsRtlChangeBackingFileObject modifica l'oggetto file per uno dei seguenti:
Una delle aree di controllo delle immagini di Gestione memoria per il flusso
Area di controllo dei dati di Gestione memoria per il flusso
Mappa della cache condivisa di Gestione cache per il flusso
La routine FsRtlChangeBackingFileObject non è sincrona. Elabora immediatamente la richiesta di modifica dell'oggetto file e restituisce immediatamente. Gestione cache e Gestione memoria sincronizzano la modifica dell'oggetto file e non liberano l'oggetto file precedente fino a quando non sono state completate tutte le operazioni incomplete associate all'oggetto file precedente. Lo stato restituito di STATUS_SUCCESS da FsRtlChangeBackingFileObject non significa che il sistema operativo ha già modificato l'oggetto file.
Tuttavia, dopo l'esecuzione di FsRtlChangeBackingFileObject , il sistema operativo associa tutte le operazioni future al nuovo oggetto file.
Per modificare l'oggetto file per più di un tipo di backup, il chiamante deve chiamare FsRtlChangeBackingFileObject più volte, una volta per ogni tipo di backup da modificare.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | La routine FsRtlChangeBackingFileObject è disponibile a partire da Windows Vista. |
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | PowerIrpDDis(wdm) |
Vedi anche
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