Partager via


PMRX_CHKFCB_CALLDOWN fonction de rappel (mrx.h)

La routine MRxAreFilesAliased est appelée par RDBSS pour demander le mini-redirecteur réseau afin de déterminer si deux structures FCB représentent le même fichier.

Syntaxe

PMRX_CHKFCB_CALLDOWN PmrxChkfcbCalldown;

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

Paramètres

[in] Fcb1

Pointeur vers la première structure FCB.

[in] Fcb2

Pointeur vers la deuxième structure FCB.

Valeur retournée

MRxAreFilesAliased retourne STATUS_SUCCESS indiquant que les fichiers ne sont pas alias, ou une valeur NTSTATUS appropriée, telle que :

Code de retour Description
STATUS_MORE_PROCESSING_REQUIRED Les membres IndexNumber.QuadPart des deux structures FCB sont identiques. Cette valeur indique que les deux fichiers qui sont comparés sont des alias.

Remarques

RDBSS appelle cette routine lors du traitement de deux fichiers qui semblent être identiques, mais qui ont des noms différents (par exemple, un nom court MS-DOS et un nom long).

MRxAreFilesAliased est appelé par la routine RxPurgeRelatedFobxs lors de la purge de toutes les structures d’une structure FOBX associée à une structure NET_ROOT. Dans le cadre de ce processus, une tentative de purge de toutes les structures FOBX dont la fermeture était en attente avant la réception de la demande de purge est effectuée. RDBSS doit rechercher toutes les structures FOBX temporaires dans les cas suivants :

  • Le paramètre PurgingFcb passé à la routine RxPurgeRelatedFobxs est la structure FCB pour laquelle la récupération doit se produire. Lorsque ce paramètre est un répertoire, RDBSS doit s’assurer que les fichiers qui peuvent se trouver dans ce répertoire sont fermés.

  • La structure FCB associée à la structure FOBX sur le membre FobxsToBeFinalized de la structure RDBSS_SCAVENGER ne pointe pas vers la même structure FCB que le paramètre PurgingFCB passé à RxPurgeRelatedFobxs. Cela est compliqué par le fait qu’il ne s’agit peut-être pas des mêmes structures FCB, mais qu’il s’agit en fait du même fichier en raison de l’aliasing. Dans ce cas, la routine MRxAreFilesAliased est appelée pour déterminer si la structure FCB est sous alias.

MRxAreFilesAliased est également appelé par la routine RxScavengeFobxsForNetRoot lors de la purge de tous les objets de fichier associés à une structure NET_ROOT. Cela est compliqué par le fait que le paramètre PurgingFCB passé à RxScavengeFobxsForNetRoot et la structure FCB associée à la structure NET_ROOT peut en fait être le même fichier en raison de l’aliasing. Dans ce cas, la routine MRxAreFilesAliased est appelée pour déterminer si la structure FCB est sous alias.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête mrx.h (inclure Mrx.h)

Voir aussi

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot