PMRX_COMPUTE_NEW_BUFFERING_STATE callback function (mrx.h)

TheMRxComputeNewBufferingState routine is called by RDBSS to request that the network mini-redirector compute a new buffering state change.

Syntax

PMRX_COMPUTE_NEW_BUFFERING_STATE PmrxComputeNewBufferingState;

NTSTATUS PmrxComputeNewBufferingState(
  [in, out] IN OUT PMRX_SRV_OPEN SrvOpen,
  [in]      IN PVOID MRxContext,
  [out]     OUT PULONG NewBufferingState
)
{...}

Parameters

[in, out] SrvOpen

A pointer to the SRV_OPEN structure and the associated FCB structure.

[in] MRxContext

A pointer to a context parameter for use by the network mini-redirector callback.

[out] NewBufferingState

A pointer to where the new buffering state is stored when the routine returns.

Return value

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

Return code Description
STATUS_NOT_SUPPORTED A feature that is requested is not supported.

Remarks

Before calling MRxComputeNewBufferingState, RDBSS sets the FcbState member of SrvOpen****->Fcb to FCB_STATE_BUFFERSTATE_CHANGING.

The Server Message Block (SMB) redirector uses MRxComputeNewBufferingState to map the SMB-specific oplock levels into the appropriate RDBSS buffering state flags. The oplock level is passed in the MrxContext parameter.

Requirements

Requirement Value
Target Platform Desktop
Header mrx.h (include Mrx.h)

See also

MRxCompleteBufferingStateChangeRequest

MRxGetConnectionId