PMRX_CHKFCB_CALLDOWN função de retorno de chamada (mrx.h)
A rotina MRxAreFilesAliased é chamada pelo RDBSS para solicitar que o minidiretório de rede determine 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.
Retornar valor
MRxAreFilesAliased retorna STATUS_SUCCESS indicando que os arquivos não são alias ou um valor NTSTATUS apropriado, como o seguinte:
Código de retorno | Descrição |
---|---|
STATUS_MORE_PROCESSING_REQUIRED | Os membros IndexNumber.QuadPart das duas estruturas FCB são idênticos. Esse valor indica que os dois arquivos que estão sendo comparados são aliases. |
Comentários
O RDBSS chama essa rotina ao processar dois arquivos que parecem ser iguais, mas têm nomes diferentes (por exemplo, um nome curto do MS-DOS e um nome longo).
MRxAreFilesAliased é chamado pela rotina RxPurgeRelatedFobxs ao 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 ocultar quaisquer estruturas FOBX temporárias nos seguintes casos:
O parâmetro PurgingFcb que é passado para a rotina RxPurgeRelatedFobxs é 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 estejam 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 elas podem não ser as mesmas estruturas FCB, mas são, na verdade, o mesmo arquivo devido ao alias. Nesse caso, a rotina MRxAreFilesAliased é chamada para determinar se a estrutura FCB é alias.
MRxAreFilesAliased também é chamado pela rotina RxScavengeFobxsForNetRoot 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 de NET_ROOT podem ser, na verdade, o mesmo arquivo devido ao alias. Nesse caso, a rotina MRxAreFilesAliased é chamada para determinar se a estrutura FCB é alias.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | mrx.h (inclua Mrx.h) |