MRxSetFileInfoAtCleanup routine

The MRxSetFileInfoAtCleanup routine is called by RDBSS to request that a network mini-redirector set file information on a file system object at cleanup.

Syntax

PMRX_CALLDOWN MRxSetFileInfoAtCleanup;

NTSTATUS MRxSetFileInfoAtCleanup(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

Parameters

RxContext [in, out]
A pointer to the RX_CONTEXT structure. This parameter contains the IRP that is requesting the operation.

Return value

MRxSetFileInfoAtCleanup returns STATUS_SUCCESS on success or an appropriate NTSTATUS value.

Remarks

RDBSS issues a call to MRxSetFileInfoAtCleanup during cleanup, when the last handle to a file object is closed. This is different than the close operation which is invoked when the last reference to a file object is deleted.

MRxSetFileInfoAtCleanup is called by RDBSS if the timestamps on a file or the size of a file have changed. The calls to MRxSetFileInfoAtCleanup by RDBSS are made separately for each of these changes. If both the file size and the timestamps have changed, then RDBSS makes two calls to MRxSetFileInfoAtCleanup.

Before calling MRxSetFileInfoAtCleanup, RDBSS modifies the following members in the RX_CONTEXT structure pointed to by the RxContext parameter if the timestamps on a file have changed:

The Info.FileInformationClass member is set to a FILE_INFORMATION_CLASS value of FileBasicInformation.

The Info.Buffer member is set to a FILE_BASIC_INFORMATION structure allocated on the stack.

The Info.Length member is set to the sizeof a FILE_BASIC_INFORMATION structure.

Before calling MRxSetFileInfoAtCleanup, RDBSS modifies the following members in the RX_CONTEXT structure pointed to by the RxContext parameter if the size of a file has changed:

The Info.FileInformationClass member is set to a FILE_INFORMATION_CLASS value of FileEndOfFileInformation.

The Info.Buffer member is set to a FILE_END_OF_FILE_INFORMATION structure allocated on the stack.

The Info.Length member is set to sizeof(FILE_END_OF_FILE_INFORMATION).

RDBSS ignores the return value from MRxSetFileInfoAtCleanup.

A network mini-redirector can choose to do nothing in this routine and return STATUS_SUCCESS. Any changes to the file size or timestamps will be handled during the cleanup operation.

Requirements

Target platform

Desktop

Header

Mrx.h (include Mrx.h)

See also

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo