PMRX_CHKFCB_CALLDOWN回呼函式 (mrx.h)

MRxAreFilesAliased 例程是由 RDBSS 呼叫,以要求網路迷你重新導向器判斷兩個 FCB 結構是否代表相同的檔案。

語法

PMRX_CHKFCB_CALLDOWN PmrxChkfcbCalldown;

NTSTATUS PmrxChkfcbCalldown(
  [in] IN PFCB Fcb1,
  [in] IN PFCB Fcb2
)
{...}

參數

[in] Fcb1

第一個FCB結構的指標。

[in] Fcb2

第二個FCB結構的指標。

傳回值

MRxAreFilesAliased 會傳回STATUS_SUCCESS指出檔案不是別名,或是適當的 NTSTATUS 值,例如:

傳回碼 Description
STATUS_MORE_PROCESSING_REQUIRED 兩個FCB結構的 IndexNumber.QuadPart 成員完全相同。 這個值表示要比較的兩個檔案都是別名。

備註

RDBSS 會在處理兩個看起來相同但名稱不同的檔案 (時呼叫此例程,例如 MS-DOS 簡短名稱和長名稱) 。

清除與NET_ROOT結構相關聯之 FOBX 結構的所有結構時,RxPurgeRelatedFobxs 例程會呼叫 MRxAreFilesAliased。 在此程式中,會嘗試清除在收到清除要求之前擱置的所有FOBX結構。 在下列情況下,RDBSS 必須擷取任何暫時的FOBX結構:

  • 傳遞至 RxPurgeRelatedFobxs 例程的 PurgingFcb 參數是應該發生清除的 FCB 結構。 當此參數是目錄時,RDBSS 必須確定可能位於該目錄中的檔案已關閉。

  • RDBSS_SCAVENGER結構之 FobxsToBeFinalized 成員上 FOBX 結構相關聯的 FCB 結構,不會指向傳遞至 RxPurgeRelatedFobs的 PurgingFCB 參數相同的 FCB 結構。 這很複雜,因為它們可能不是相同的FCB結構,但實際上因為別名而相同檔案。 在此情況下, 會呼叫 MRxAreFilesAliased 例程來判斷 FCB 結構是否為別名。

清除與NET_ROOT結構相關聯的所有檔案物件時,RxScavengeFobxsForNetRoot 例程也會呼叫 MRxAreFilesAliased。 這很複雜,因為別名,傳遞至 RxScavengeFobxsForNetRootPurgingFCB 參數和與NET_ROOT結構相關聯的 FCB 結構可能實際上就是相同的檔案。 在此情況下, 會呼叫 MRxAreFilesAliased 例程來判斷 FCB 結構是否為別名。

規格需求

需求
目標平台 桌面
標頭 mrx.h (包含 Mrx.h)

另請參閱

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot