Compartilhar via


PMRX_CHKFCB_CALLDOWN função de retorno de chamada (mrx.h)

A rotina de MRxAreFilesAliased é chamada por RDBSS para solicitar o minidiretório de rede para determinar se duas estruturas FCB representam o mesmo arquivo.

Sintaxe

PMRX_CHKFCB_CALLDOWN PmrxChkfcbCalldown;

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

Parâmetros

[in] Fcb1

Um ponteiro para a primeira estrutura fcb.

[in] Fcb2

Um ponteiro para a segunda estrutura FCB.

Valor de retorno

MRxAreFilesAliased retorna STATUS_SUCCESS indicando que os arquivos não são aliased ou um valor NTSTATUS apropriado, como o seguinte:

Código de retorno Descrição
STATUS_MORE_PROCESSING_REQUIRED O IndexNumber.QuadPart membros das duas estruturas fcb são idênticos. Esse valor indica que os dois arquivos que estão sendo comparados são aliases.

Observações

O RDBSS chama essa rotina ao processar dois arquivos que parecem ser iguais, mas têm nomes diferentes (por exemplo, um nome curto MS-DOS e um nome longo).

MRxAreFilesAliased é chamado pela rotinaRxPurgeRelatedFobxsao limpar todas as estruturas de uma estrutura FOBX associada a uma estrutura NET_ROOT. Como parte desse processo, é feita uma tentativa de limpar todas as estruturas FOBX que tinham um fechamento pendente antes do recebimento da solicitação de limpeza. O RDBSS precisa armazenar estruturas FOBX temporárias nos seguintes casos:

  • O parâmetro PurgingFcb que é passado para a rotina deRxPurgeRelatedFobxsé a estrutura FCB para a qual a limpeza deve ocorrer. Quando esse parâmetro é um diretório, o RDBSS precisa garantir que os arquivos que podem estar nesse diretório sejam fechados.

  • A estrutura FCB associada à estrutura FOBX no membro FobxsToBeFinalized da estrutura RDBSS_SCAVENGER não aponta para a mesma estrutura FCB que o parâmetro PurgingFCB passado para RxPurgeRelatedFobxs. Isso é complicado pelo fato de que eles podem não ser as mesmas estruturas fcb, mas na verdade são o mesmo arquivo por causa do aliasing. Nesse caso, a rotina de MRxAreFilesAliased é chamada para determinar se a estrutura fcb é aliased.

MRxAreFilesAliased também é chamado pela rotina deRxScavengeFobxsForNetRoot ao limpar todos os objetos de arquivo associados a uma estrutura NET_ROOT. Isso é complicado pelo fato de que o parâmetro PurgingFCB passado para RxScavengeFobxsForNetRoot e a estrutura FCB associada à estrutura NET_ROOT pode ser, na verdade, o mesmo arquivo devido ao aliasing. Nesse caso, a rotina de MRxAreFilesAliased é chamada para determinar se a estrutura fcb é aliased.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho mrx.h (incluir Mrx.h)

Consulte também

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot