Função FsRtlLookupLargeMcbEntry (ntifs.h)

Considerando um número de bloco virtual (VBN) e um MCB (bloco de controle de mapa), a rotina FsRtlLookupLargeMcbEntry procura no MCB informações de mapeamento correspondentes ao VBN especificado.

Sintaxe

BOOLEAN FsRtlLookupLargeMcbEntry(
                  PLARGE_MCB Mcb,
                  LONGLONG   Vbn,
                  PLONGLONG  Lbn,
                  PLONGLONG  SectorCountFromLbn,
                  PLONGLONG  StartingLbn,
                  PLONGLONG  SectorCountFromStartingLbn,
  [out, optional] PULONG     Index
);

Parâmetros

Mcb

Ponteiro para uma estrutura mcb inicializada.

Vbn

Ponteiro para o VBN solicitado.

Lbn

Ponteiro para uma variável que recebe o LBN mapeado para LargeVbn na entrada de mapeamento ou -1 se não existir nenhum LBN. Esse parâmetro é opcional e pode ser NULL.

SectorCountFromLbn

Ponteiro para uma variável que recebe o número de setores que seguem LargeVbn na execução de mapeamento. Esse parâmetro é opcional e pode ser NULL.

StartingLbn

Ponteiro para uma variável que recebe o LBN correspondente ao início da execução de mapeamento ou -1 se nenhum LBN existir. Esse parâmetro é opcional e pode ser NULL.

SectorCountFromStartingLbn

Ponteiro para uma variável que recebe o número de setores na execução de mapeamento. Esse parâmetro é opcional e pode ser NULL.

[out, optional] Index

Ponteiro para uma variável que recebe o índice da execução de mapeamento que contém o VBN. Esse parâmetro é opcional e pode ser NULL.

Retornar valor

FsRtlLookupLargeMcbEntry retornará TRUE se o VBN especificado estiver dentro do intervalo de VBNs mapeados pelo MCB; caso contrário, FALSE.

Comentários

FsRtlLookupLargeMcbEntry procura uma entrada de mapeamento no MCB cuja execução inclui o VBN especificado.

  • Se esse mapeamento existir, a operação de pesquisa produzirá valores positivos para o LBN correspondente e a contagem de setores e FsRtlLookupLargeMcbEntry retornará TRUE.

  • Se esse mapeamento não existir, mas o VBN especificado for menor do que o VBN mais alto mapeado pelo MCB, isso será conhecido como um buraco no mapeamento. Nesse caso, FsRtlLookupLargeMcbEntry ainda retorna TRUE, mas a operação de pesquisa gera um valor de -1 para o LBN.

  • Se o VBN especificado for maior que o VBN mais alto mapeado pelo MCB ou se o MCB não contiver mapeamentos, FsRtlLookupLargeMcbEntry retornará FALSE.

Os 32 bits superiores do LBN são ignorados. Somente os 32 bits inferiores são usados.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Confira também

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb