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) |