функция обратного вызова 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 при очистке всех структур структуры FOBX, связанной со структурой NET_ROOT. В рамках этого процесса предпринимается попытка очистить все структуры FOBX, которые были близки до получения запроса на очистку. RDBSS необходимо скомпилировать все временные структуры FOBX в следующих случаях:

  • Параметр PurgingFcb, передаваемый в RxPurgeRelatedFobxs, — это структура FCB, для которой должна выполняться очистка. Если этот параметр является каталогом, RDBSSS необходимо убедиться, что файлы, которые потенциально могут находиться в этом каталоге, закрыты.

  • Структура FCB, связанная со структурой FOBX в FobxsToBeFinalized элемент структуры RDBSS_SCAVENGER, не указывает на ту же структуру FCB, что и параметр PurgingFCB, переданный RxPurgeRelatedFobxs. Это усложняется тем, что они могут быть не теми же структурами FCB, но на самом деле одинаковыми файлами из-за псевдонима. В этом случае вызывается подпрограмма MRxAreFilesAliased, чтобы определить, является ли структура FCB псевдонимом.

MRxAreFilesAliased также вызывается процедурой RxScavengeFobxsForNetRoot при очистке всех объектов файлов, связанных со структурой NET_ROOT. Это усложняется тем, что параметр PurgingFCB, переданный в RxScavengeFobxsForNetRoot и структуру FCB, связанную со структурой NET_ROOT, может быть тем же файлом из-за псевдонима. В этом случае вызывается подпрограмма MRxAreFilesAliased, чтобы определить, является ли структура FCB псевдонимом.

Требования

Требование Ценность
целевая платформа Настольный
заголовка mrx.h (include Mrx.h)

См. также

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot