다음을 통해 공유


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 두 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 구조가 아닐 수도 있지만 별칭으로 인해 실제로는 동일한 파일이라는 사실 때문에 복잡합니다. 이 경우 FCB 구조체의 별칭이 지정되었는지 확인하기 위해 MRxAreFilesAliased 루틴이 호출됩니다.

MRxAreFilesAliased 는 NET_ROOT 구조체와 연결된 모든 파일 개체를 제거하는 경우 RxScavengeFobxsForNetRoot 루틴에서도 호출됩니다. 이는 RxScavengeFobxsForNetRoot에 전달된 PurgingFCB 매개 변수와 NET_ROOT 구조체와 연결된 FCB 구조체가 별칭으로 인해 실제로 동일한 파일일 수 있기 때문에 복잡합니다. 이 경우 FCB 구조체의 별칭이 지정되었는지 확인하기 위해 MRxAreFilesAliased 루틴이 호출됩니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 mrx.h(Mrx.h 포함)

추가 정보

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot