PMRX_CHKFCB_CALLDOWN función de devolución de llamada (mrx.h)

RDBSS llama a la rutina MRxAreFilesAliased para solicitar al minidirector de red que determine si dos estructuras FCB representan el mismo archivo.

Sintaxis

PMRX_CHKFCB_CALLDOWN PmrxChkfcbCalldown;

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

Parámetros

[in] Fcb1

Puntero a la primera estructura FCB.

[in] Fcb2

Puntero a la segunda estructura FCB.

Valor devuelto

MRxAreFilesAliased devuelve STATUS_SUCCESS que indica que los archivos no tienen alias o un valor NTSTATUS adecuado, como el siguiente:

Código devuelto Descripción
STATUS_MORE_PROCESSING_REQUIRED Los miembros IndexNumber.QuadPart de las dos estructuras FCB son idénticos. Este valor indica que los dos archivos que se comparan son alias.

Comentarios

RDBSS llama a esta rutina al procesar dos archivos que parecen ser los mismos, pero tienen nombres diferentes (por ejemplo, un nombre corto de MS-DOS y un nombre largo).

La rutina RxPurgeRelatedFobxs llama a MRxAreFilesAlias al purgar todas las estructuras de una estructura FOBX asociada a una estructura NET_ROOT. Como parte de este proceso, se intenta purgar todas las estructuras FOBX que tenían un cierre pendiente antes de que se recibiera la solicitud de purga. RDBSS debe recuperar todas las estructuras FOBX temporales en los casos siguientes:

  • El parámetro PurgingFcb que se pasa a la rutina RxPurgeRelatedFobxs es la estructura FCB para la que debe producirse el scavenging. Cuando este parámetro es un directorio, RDBSS debe asegurarse de que los archivos que pueden estar potencialmente en ese directorio están cerrados.

  • La estructura FCB asociada a la estructura FOBX en el miembro FobxsToBeFinalized de la estructura RDBSS_SCAVENGER no apunta a la misma estructura FCB que el parámetro PurgingFCB pasado a RxPurgeRelatedFobxs. Esto es complicado por el hecho de que podrían no ser las mismas estructuras FCB, pero son realmente el mismo archivo debido al alias. En este caso, se llama a la rutina MRxAreFilesAliased para determinar si la estructura FCB tiene alias.

La rutina RxScavengeFobxsForNetRoot también llama a MRxAreFilesAliased al purgar todos los objetos de archivo asociados a una estructura de NET_ROOT. Esto es complicado por el hecho de que el parámetro PurgingFCB pasado a RxScavengeFobxsForNetRoot y la estructura FCB asociada a la estructura NET_ROOT podría ser realmente el mismo archivo debido al alias. En este caso, se llama a la rutina MRxAreFilesAliased para determinar si la estructura FCB tiene alias.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado mrx.h (incluya Mrx.h)

Consulte también

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot