Funzione FsRtlRemoveLargeMcbEntry (ntifs.h)

La routine FsRtlRemoveLargeMcbEntry rimuove uno o più mapping da un blocco di controllo mappa.The FsRtlRemoveLargeMcbEntry routine remove one or more mappings from a map control block (MCB).

Sintassi

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

Parametri

Mcb

Puntatore alla struttura MCB.

Vbn

Avvio del numero di blocco virtuale (VBN) dell'intervallo per il quale i mapping devono essere rimossi dal McB.

SectorCount

Numero di settori (VBN) nell'intervallo per cui rimuovere i mapping.

Valore restituito

nessuno

Osservazioni

FsRtlRemoveLargeMcbEntry rimuove tutti i mapping di VBN a LBN nel McB che rientrano nell'intervallo di VBN che inizia con *LargeVbn e termina con (*LargeVbn + LargeSectorCount - 1).

Nota I 32 bit superiori del codice LBN vengono ignorati. Vengono usati solo i 32 bit inferiori.
 
I fori (spazi) tra i mapping vengono ignorati.

Se l'intervallo di VBN da rimuovere include la vbn mappata più elevata nel mcb, il membro PairCount del mcb viene modificato di conseguenza.

Se si verifica un errore di allocazione del pool, FsRtlRemoveLargeMcbEntry genera un'eccezione STATUS_INSUFFICIENT_RESOURCES. Per controllare se si verifica questo errore di allocazione del pool, il driver deve eseguire il wrapping della chiamata a FsRtlRemoveLargeMcbEntry in un'istruzione try-except o try-finally .

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Vedi anche

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb