MRxAreFilesAliased

MRxAreFilesAliased routine

The MRxAreFilesAliased routine is called by RDBSS to request the network mini-redirector to determine if two FCB structures represent the same file.

Syntax


PMRX_CHKFCB_CALLDOWN MRxAreFilesAliased;

NTSTATUS MRxAreFilesAliased(
  _In_ PFCB Fcb1,
  _In_ PFCB Fcb2
)
{ ... }

Parameters

Fcb1 [in]

A pointer to the first FCB structure.

Fcb2 [in]

A pointer to the second FCB structure.

Return value

MRxAreFilesAliased returns STATUS_SUCCESS indicating that the files are not aliased, or an appropriate NTSTATUS value, such as the following:

Return codeDescription
STATUS_MORE_PROCESSING_REQUIRED

The IndexNumber.QuadPart members of the two FCB structures are identical. This value indicates that the two files that are being compared are aliases.

 

Remarks

RDBSS calls this routine when processing two files that appear to be the same but have different names (for example, an MS-DOS short name and a long name).

MRxAreFilesAliased is called by the RxPurgeRelatedFobxs routine when purging all the structures of an FOBX structure associated with a NET_ROOT structure. As part of this process, an attempt is made to purge all the FOBX structures that had a close pending before the purge request was received. RDBSS needs to scavenge any temporary FOBX structures in the following cases:

  1. The PurgingFcb parameter that is passed to the RxPurgeRelatedFobxs routine is the FCB structure for which the scavenging should occur. When this parameter is a directory, RDBSS needs to ensure that files that can potentially be in that directory are closed.

  2. The FCB structure that is associated with the FOBX structure on the FobxsToBeFinalized member of the RDBSS_SCAVENGER structure doesn't point to the same FCB structure as the PurgingFCB parameter passed to RxPurgeRelatedFobxs. This is complicated by the fact that they might not be the same FCB structures, but are actually the same file because of aliasing. In this case, the MRxAreFilesAliased routine is called to determine if the FCB structure is aliased.

MRxAreFilesAliased is also called by the RxScavengeFobxsForNetRoot routine when purging all the file objects associated with a NET_ROOT structure. This is complicated by the fact that the PurgingFCB parameter passed to RxScavengeFobxsForNetRoot and the FCB structure that is associated with the NET_ROOT structure might actually be the same file because of aliasing. In this case, the MRxAreFilesAliased routine is called to determine if the FCB structure is aliased.

Requirements

Target platform

Desktop

Header

Mrx.h (include Mrx.h)

See also

MRxCleanupFobx
MRxCloseSrvOpen
MRxCollapseOpen
MRxCreate
MRxDeallocateForFcb
MRxDeallocateForFobx
MRxExtendForCache
MRxExtendForNonCache
MRxFlush
MRxForceClosed
MRxIsLockRealizable
MRxShouldTryToCollapseThisOpen
MRxTruncate
MRxZeroExtend
RxPurgeRelatedFobxs
RxScavengeFobxsForNetRoot

 

 

Send comments about this topic to Microsoft

Show:
© 2016 Microsoft