Freigeben über


PMRX_CHKFCB_CALLDOWN Rückruffunktion (mrx.h)

Die MRxAreFilesAliased-Routine wird von RDBSS aufgerufen, um den Netzwerkminiumleitungsor anzufordern, um festzustellen, ob zwei FCB-Strukturen dieselbe Datei darstellen.

Syntax

PMRX_CHKFCB_CALLDOWN PmrxChkfcbCalldown;

NTSTATUS PmrxChkfcbCalldown(
  [in] IN PFCB Fcb1,
  [in] IN PFCB Fcb2
)
{...}

Parameter

[in] Fcb1

Ein Zeiger auf die erste FCB-Struktur.

[in] Fcb2

Ein Zeiger auf die zweite FCB-Struktur.

Rückgabewert

MRxAreFilesAliased gibt STATUS_SUCCESS zurück, der angibt, dass die Dateien nicht aliasiert sind, oder einen entsprechenden NTSTATUS-Wert wie den folgenden:

Rückgabecode Beschreibung
STATUS_MORE_PROCESSING_REQUIRED Die IndexNumber.QuadPart-Member der beiden FCB-Strukturen sind identisch. Dieser Wert gibt an, dass es sich bei den beiden verglichenen Dateien um Aliase handelt.

Hinweise

RDBSS ruft diese Routine auf, wenn zwei Dateien verarbeitet werden, die identisch zu sein scheinen, aber unterschiedliche Namen haben (z. B. einen MS-DOS-Kurznamen und einen langen Namen).

MRxAreFilesAliased wird von der RxPurgeRelatedFobxs-Routine aufgerufen, wenn alle Strukturen einer FOBX-Struktur löscht, die einer NET_ROOT-Struktur zugeordnet ist. Im Rahmen dieses Prozesses wird versucht, alle FOBX-Strukturen zu bereinigen, für die vor dem Empfang der Bereinigungsanforderung ein Close ausstehend war. RDBSS muss in den folgenden Fällen alle temporären FOBX-Strukturen abfangen:

  • Der PurgingFcb-Parameter , der an die RxPurgeRelatedFobxs-Routine übergeben wird, ist die FCB-Struktur, für die das Abfangen erfolgen soll. Wenn es sich bei diesem Parameter um ein Verzeichnis handelt, muss RDBSS sicherstellen, dass Dateien, die sich möglicherweise in diesem Verzeichnis befinden können, geschlossen werden.

  • Die FCB-Struktur, die der FOBX-Struktur auf dem FobxsToBeFinalized-Member der RDBSS_SCAVENGER-Struktur zugeordnet ist, verweist nicht auf dieselbe FCB-Struktur wie der PurgingFCB-Parameter , der an RxPurgeRelatedFobxs übergeben wird. Dies wird durch die Tatsache erschwert, dass es sich möglicherweise nicht um dieselben FCB-Strukturen handelt, sondern aufgrund von Aliasen tatsächlich die gleiche Datei sind. In diesem Fall wird die MRxAreFilesAliased-Routine aufgerufen, um zu bestimmen, ob die FCB-Struktur aliasisiert ist.

MRxAreFilesAliased wird auch von der RxScavengeFobxsForNetRoot-Routine aufgerufen, wenn alle Dateiobjekte gelöscht werden, die einer NET_ROOT-Struktur zugeordnet sind. Dies wird durch die Tatsache erschwert, dass der an RxScavengeFobxsForNetRoot übergebene PurgingFCB-Parameter und die FCB-Struktur, die der NET_ROOT-Struktur zugeordnet ist, aufgrund von Aliasing tatsächlich dieselbe Datei sein können. In diesem Fall wird die MRxAreFilesAliased-Routine aufgerufen, um zu bestimmen, ob die FCB-Struktur aliasisiert ist.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile mrx.h (einschließlich Mrx.h)

Weitere Informationen

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot