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

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

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

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть mrx.h (включая Mrx.h)

См. также раздел

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot