Partager via


PMRX_CHKFCB_CALLDOWN fonction de rappel (mrx.h)

La routine MRxAreFilesAliased est appelée par RDBSS pour demander au mini-redirecteur réseau 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 de retour

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

Retourner le code 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 est effectuée pour vider toutes les structures FOBX qui avaient une fermeture en attente avant la réception de la demande de vidage. RdBSS doit se venger des structures FOBX temporaires dans les cas suivants :

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

  • La structure FCB associée à la structure FOBX sur le FobxsToBeFinalized membre 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’ils ne sont peut-être pas les mêmes structures FCB, mais sont en fait le même fichier en raison de l’alias. Dans ce cas, la routine MRxAreFilesAliased est appelée pour déterminer si la structure FCB est aliasée.

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 réellement être le même fichier en raison de l’alias. Dans ce cas, la routine MRxAreFilesAliased est appelée pour déterminer si la structure FCB est aliasée.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête mrx.h (inclure Mrx.h)

Voir aussi

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThiseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot