PMRX_CHKFCB_CALLDOWN - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// mrx.h

PMRX_CHKFCB_CALLDOWN PmrxChkfcbCalldown;

NTSTATUS PmrxChkfcbCalldown(
  [in] IN PFCB Fcb1,
  [in] IN PFCB Fcb2
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-mrx-pmrx_chkfcb_calldown)

PMRX_CHKFCB_CALLDOWN callback function

Description

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

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 code Description
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:

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.

See also

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot