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)

Confira também

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo