MRxShouldTryToCollapseThisOpen routine

The MRxShouldTryToCollapseThisOpen routine is called by RDBSS to request that a network mini-redirector indicate if RDBSS should try and collapse an open request onto an existing file system object.

Syntax

PMRX_CALLDOWN MRxShouldTryToCollapseThisOpen;

NTSTATUS MRxShouldTryToCollapseThisOpen(
  _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

MRxShouldTryToCollapseThisOpen returns STATUS_SUCCESS on success or an appropriate NTSTATUS value, such as the following:

Return code Description
STATUS_MORE_PROCESSING_REQUIRED

A network mini-redirector returns this value to disable collapsing of this open request.

Remarks

MRxShouldTryToCollapseThisOpen is called to determine if an open request should not be collapsed.

Before calling MRxShouldTryToCollapseThisOpen, RDBSS modifies the following member in the RX_CONTEXT structure pointed to by the RxContext parameter:

The pRelevantSrvOpen member is set to the SRV_OPEN.

The call to MRxShouldTryToCollapseThisOpen could be a change notify request for a directory. Therefore, the network mini-redirector might not allow collapsing open requests so that change notification works correctly.

RDBSS disallows collapsing opens if the Create.NtCreateParameters.CreateOptions member of the RX_CONTEXT structure has the FILE_OPEN_FOR_BACKUP_INTENT option or the FILE_DELETE_ON_CLOSE option set.

Requirements

Target platform

Desktop

Header

Mrx.h (include Mrx.h)

See also

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxTruncate

MRxZeroExtend