MRxCollapseOpen routine

The MRxCollapseOpen routine is called by RDBSS to request that the network mini-redirector collapse an open file system request onto an existing SRV_OPEN structure.

Syntax

PMRX_CALLDOWN MRxCollapseOpen;

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

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

Return code Description
STATUS_INSUFFICIENT_RESOURCES

There were insufficient resources to complete the operation.

Remarks

MRxCollapseOpen is called by RDBSS to collapse an SRV_OPEN structure locally. The network mini-redirector is consulted to determine if a collapse is possible so there is no reason to call the network mini-redirector twice. If the network mini-redirector decides to collapse the SRV_OPEN structure, then it will do so and pass back a returnable status. A return value of STATUS_SUCCESS is a terminating return value. A different return value, for example, STATUS_MORE_PROCESSING_REQUIRED, is considered a non-terminating return value.

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

pRelevantSrvOpen is set to the SRV_OPEN structure to collapse.

Create.pSrvCall is set to the SRV_CALL structure associated with the SRV_OPEN.

If the network mini-redirector decides to collapse the SRV_OPEN structure, then the SrvOpen member of the RX_CONTEXT structure must be set to the collapsed SRV_OPEN structure.

Requirements

Target platform

Desktop

Header

Mrx.h (include Mrx.h)

See also

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend