MRxExtendForNonCache routine

The MRxExtendForNonCache routine is called by RDBSS to request that a network mini-redirector extend a file when the file is not being cached by the cache manager.

Syntax

PMRX_EXTENDFILE_CALLDOWN MRxExtendForNonCache;

ULONG MRxExtendForNonCache(
  _Inout_ PRX_CONTEXT    RxContext,
  _Inout_ PLARGE_INTEGER pNewFileSize,
  _Out_   PLARGE_INTEGER pNewAllocationSize
)
{ ... }

Parameters

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

pNewFileSize [in, out]
A pointer to the LARGE_INTEGER value indicating the byte count of the new file size.

pNewAllocationSize [out]
A pointer to the LARGE_INTEGER for storing the new allocation size when MRxExtendForCache returns.

Return value

MRxExtendForNonCache returns STATUS_SUCCESS on success or an error code on failure.

Remarks

MRxExtendForNonCache handles network requests to extend the file for non-cached I/O.

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

LowIoContext.Operation is set to LOWIO_OP_WRITE

LowIoContext.ParamsFor.ReadWrite.Flags has the LOWIO_READWRITEFLAG_EXTENDING_FILESIZE bit set

A network mini-redirector that caches file or directory information may need to invalidate its cache information when the file is extended.

Requirements

Target platform

Desktop

Header

Mrx.h (include Mrx.h)

See also

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend