Função FsRtlRemoveLargeMcbEntry (ntifs.h)

A rotina FsRtlRemoveLargeMcbEntry remove um ou mais mapeamentos de um MCB (bloco de controle de mapa).

Sintaxe

void FsRtlRemoveLargeMcbEntry(
  PLARGE_MCB Mcb,
  LONGLONG   Vbn,
  LONGLONG   SectorCount
);

Parâmetros

Mcb

Ponteiro para a estrutura MCB.

Vbn

Iniciando o VBN (número de bloco virtual) do intervalo para o qual os mapeamentos devem ser removidos do MCB.

SectorCount

Número de setores (VBNs) no intervalo para o qual os mapeamentos devem ser removidos.

Retornar valor

Nenhum

Comentários

FsRtlRemoveLargeMcbEntry remove todos os mapeamentos de VBNs para LBNs no MCB que se enquadram no intervalo de VBNs que começa com *LargeVbn e termina com (*LargeVbn + LargeSectorCount - 1).

Nota Os 32 bits superiores do LBN são ignorados. Somente os 32 bits inferiores são usados.
 
Os buracos (lacunas) entre mapeamentos são ignorados.

Se o intervalo de VBNs a serem removidos incluir o VBN mapeado mais alto no MCB, o membro PairCount do MCB será ajustado adequadamente.

Se ocorrer uma falha de alocação de pool, FsRtlRemoveLargeMcbEntry gerará uma exceção STATUS_INSUFFICIENT_RESOURCES. Para obter controle se essa falha de alocação de pool ocorrer, o driver deverá encapsular a chamada para FsRtlRemoveLargeMcbEntry em uma instrução try-except ou try-finally .

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

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb