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 結構不會指向與傳遞至 RxPurgeRelatedFobxs之 PurgingFCB 參數相同的 FCB 結構。 這很複雜,因為它們可能不是相同的FCB結構,但因為別名而實際是相同的檔案。 在此情況下,會呼叫 MRxAreFilesAliased 例程,以判斷 FCB 結構是否為別名。
MRxAreFilesAliased 也會由 RxScavengeFobxsForNetRoot 例程呼叫,以清除與NET_ROOT結構相關聯的所有檔案物件。 由於 PurgingFCB 參數傳遞至 RxScavengeFobxsForNetRoot,以及與NET_ROOT結構相關聯的 FCB 結構,實際上可能會因為別名而成為相同的檔案,這很複雜。 在此情況下,會呼叫 MRxAreFilesAliased 例程,以判斷 FCB 結構是否為別名。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | mrx.h (包括 Mrx.h) |