Routine MRxSetFileInfoAtCleanup
La routine MRxSetFileInfoAtCleanup viene chiamata da RDBSS per richiedere che un mini-redirector di rete imposti le informazioni sui file su un oggetto file system in fase di pulizia.
Sintassi
PMRX_CALLDOWN MRxSetFileInfoAtCleanup;
NTSTATUS MRxSetFileInfoAtCleanup(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parametri
RxContext [in, out]
Puntatore alla struttura RX_CONTEXT. Questo parametro contiene l'IRP che richiede l'operazione.
Valore restituito
MRxSetFileInfoAtCleanup restituisce STATUS_SUCCESS in caso di esito positivo o di un valore NTSTATUS appropriato.
Commenti
RDBSS genera una chiamata a MRxSetFileInfoAtCleanup durante la pulizia, quando l'ultimo handle di un oggetto file viene chiuso. Questa operazione è diversa dall'operazione di chiusura che viene richiamata quando viene eliminato l'ultimo riferimento a un oggetto file.
MRxSetFileInfoAtCleanup viene chiamato da RDBSS se i timestamp in un file o le dimensioni di un file sono stati modificati. Le chiamate a MRxSetFileInfoAtCleanup da RDBSS vengono effettuate separatamente per ognuna di queste modifiche. Se le dimensioni del file e i timestamp sono stati modificati, RDBSS effettua due chiamate a MRxSetFileInfoAtCleanup.
Prima di chiamare MRxSetFileInfoAtCleanup, RDBSS modifica i membri seguenti nella struttura RX_CONTEXT a cui punta il parametro RxContext se i timestamp in un file sono stati modificati:
Il membro Info.FileInformationClass è impostato su un valore FILE_INFORMATION_CLASS di FileBasicInformation.
Il membro Info.Buffer è impostato su una struttura FILE_BASIC_INFORMATION allocata nello stack.
Il membro Info.Length è impostato sulla dimensione di una struttura FILE_BASIC_INFORMATION.
Prima di chiamare MRxSetFileInfoAtCleanup, RDBSS modifica i membri seguenti nella struttura RX_CONTEXT a cui punta il parametro RxContext se le dimensioni di un file sono state modificate:
Il membro Info.FileInformationClass è impostato su un valore FILE_INFORMATION_CLASS di FileEndOfFileInformation.
Il membro Info.Buffer è impostato su una struttura FILE_END_OF_FILE_INFORMATION allocata nello stack.
Il membro Info.Length è impostato su sizeof(FILE_END_OF_FILE_INFORMATION).
RDBSS ignora il valore restituito da MRxSetFileInfoAtCleanup.
Un mini-redirector di rete può scegliere di non eseguire alcuna operazione in questa routine e restituire STATUS_SUCCESS. Tutte le modifiche apportate alle dimensioni o ai timestamp del file verranno gestite durante l'operazione di pulizia.
Requisiti
Piattaforma di destinazione |
Desktop |
Intestazione |
Mrx.h (include Mrx.h) |