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。 這很複雜,因為別名,傳遞至 RxScavengeFobxsForNetRoot 的 PurgingFCB 參數和與NET_ROOT結構相關聯的 FCB 結構可能實際上就是相同的檔案。 在此情況下, 會呼叫 MRxAreFilesAliased 例程來判斷 FCB 結構是否為別名。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | mrx.h (包含 Mrx.h) |