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 | 두 FCB 구조체의 IndexNumber.QuadPart 멤버는 동일합니다. 이 값은 비교되는 두 파일이 별칭임을 나타냅니다. |
발언
RDBSS는 이름이 다르지만 이름이 다른 두 파일(예: MS-DOS 짧은 이름과 긴 이름)을 처리할 때 이 루틴을 호출합니다.
MRxAreFilesAliased NET_ROOT 구조체와 연결된 FOBX 구조체의 모든 구조를 제거하면 RxPurgeRelatedFobxs 루틴에 의해 호출됩니다. 이 프로세스의 일부로 제거 요청이 수신되기 전에 보류 중인 모든 FOBX 구조를 제거하려고 시도합니다. RDBSS는 다음과 같은 경우에 임시 FOBX 구조를 청소해야 합니다.
RxPurgeRelatedFobxs 루틴에 전달되는 PurgingFcb 매개 변수는 청소가 발생해야 하는 FCB 구조입니다. 이 매개 변수가 디렉터리인 경우 RDBSS는 해당 디렉터리에 있을 수 있는 파일이 닫혀 있는지 확인해야 합니다.
RDBSS_SCAVENGER 구조체의 FobxsToBeFinalized 멤버의 FOBX 구조체와 연결된 FCB 구조체는 RxPurgeRelatedFobxs전달된 PurgingFCB 매개 변수와 동일한 FCB 구조를 가리키지 않습니다. 이는 동일한 FCB 구조가 아닐 수도 있지만 별칭으로 인해 실제로는 동일한 파일이라는 사실 때문에 복잡합니다. 이 경우 MRxAreFilesAliased 루틴이 호출되어 FCB 구조체의 별칭이 지정되었는지 확인합니다.
MRxAreFilesAliased NET_ROOT 구조와 연결된 모든 파일 개체를 제거하면 RxScavengeFobxsForNetRoot 루틴에서도 호출됩니다. 이는 PurgingFCB 매개 변수가 RxScavengeFobxsForNetRoot 전달되고 NET_ROOT 구조와 연결된 FCB 구조체가 별칭 때문에 실제로 동일한 파일일 수 있기 때문에 복잡합니다. 이 경우 MRxAreFilesAliased 루틴이 호출되어 FCB 구조체의 별칭이 지정되었는지 확인합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | mrx.h(Mrx.h 포함) |