Rotina MRxSetFileInfoAtCleanup
A rotina MRxSetFileInfoAtCleanup é chamada pelo RDBSS para solicitar que um minidiretório de rede defina informações de arquivo em um objeto do sistema de arquivos na limpeza.
Sintaxe
PMRX_CALLDOWN MRxSetFileInfoAtCleanup;
NTSTATUS MRxSetFileInfoAtCleanup(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parâmetros
RxContext [in, out]
Um ponteiro para a estrutura RX_CONTEXT. Esse parâmetro contém o IRP que está solicitando a operação.
Retornar valor
MRxSetFileInfoAtCleanup retorna STATUS_SUCCESS em caso de êxito ou um valor NTSTATUS apropriado.
Comentários
O RDBSS emite uma chamada para MRxSetFileInfoAtCleanup durante a limpeza, quando o último identificador para um objeto de arquivo é fechado. Isso é diferente da operação de fechamento que é invocada quando a última referência a um objeto de arquivo é excluída.
MRxSetFileInfoAtCleanup será chamado pelo RDBSS se os carimbos de data/hora em um arquivo ou o tamanho de um arquivo tiverem sido alterados. As chamadas para MRxSetFileInfoAtCleanup por RDBSS são feitas separadamente para cada uma dessas alterações. Se o tamanho do arquivo e os carimbos de data/hora tiverem sido alterados, o RDBSS fará duas chamadas para MRxSetFileInfoAtCleanup.
Antes de chamar MRxSetFileInfoAtCleanup, o RDBSS modificará os seguintes membros na estrutura RX_CONTEXT apontada pelo parâmetro RxContext se os carimbos de data/hora em um arquivo tiverem sido alterados:
O membro Info.FileInformationClass é definido como um valor FILE_INFORMATION_CLASS de FileBasicInformation.
O membro Info.Buffer é definido como uma estrutura FILE_BASIC_INFORMATION alocada na pilha.
O membro Info.Length é definido como o tamanho de uma estrutura FILE_BASIC_INFORMATION.
Antes de chamar MRxSetFileInfoAtCleanup, o RDBSS modificará os seguintes membros na estrutura RX_CONTEXT apontada pelo parâmetro RxContext se o tamanho de um arquivo tiver sido alterado:
O membro Info.FileInformationClass é definido como um valor FILE_INFORMATION_CLASS de FileEndOfFileInformation.
O membro Info.Buffer é definido como uma estrutura FILE_END_OF_FILE_INFORMATION alocada na pilha.
O membro Info.Length é definido como sizeof(FILE_END_OF_FILE_INFORMATION).
O RDBSS ignora o valor retornado de MRxSetFileInfoAtCleanup.
Um minidiretório de rede pode optar por não fazer nada nessa rotina e retornar STATUS_SUCCESS. Todas as alterações no tamanho do arquivo ou nos carimbos de data/hora serão tratadas durante a operação de limpeza.
Requisitos
Plataforma de destino |
Área de Trabalho |
parâmetro |
Mrx.h (inclua Mrx.h) |