共用方式為


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 值,例如:

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

言論

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

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

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

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

MRxAreFilesAliased 也會由 RxScavengeFobxsForNetRoot 例程呼叫,以清除與NET_ROOT結構相關聯的所有檔案物件。 由於 PurgingFCB 參數傳遞至 RxScavengeFobxsForNetRoot,以及與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