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