Funzione FsRtlAddLargeMcbEntry (ntifs.h)

La routine FsRtlAddLargeMcbEntry aggiunge un nuovo mapping a un blocco di controllo mappa esistente.

Sintassi

BOOLEAN FsRtlAddLargeMcbEntry(
  PLARGE_MCB Mcb,
  LONGLONG   Vbn,
  LONGLONG   Lbn,
  LONGLONG   SectorCount
);

Parametri

Mcb

Puntatore a una struttura MCB inizializzata.

Vbn

Avvio del numero di blocco virtuale (VBN) della nuova esecuzione del mapping da aggiungere al McB.

Lbn

Numero di blocco logico (LBN) a cui eseguire il mapping di LargeVbn .

SectorCount

Numero di settori nella nuova esecuzione del mapping.

Valore restituito

FsRtlAddLargeMcbEntry restituisce TRUE se il nuovo mapping è stato aggiunto correttamente a MCB, FALSE in caso contrario.

Commenti

FsRtlAddLargeMcbEntry aggiunge un nuovo mapping a un blocco di controllo mappa esistente. I file system usano strutture MCB per eseguire il mapping dei numeri di blocco virtuale (VBN) per un file ai numeri di blocco logici corrispondenti (LBN) su disco.

Nota I 32 bit superiori del codice LBN vengono ignorati, ma devono essere impostati su zero. Vengono usati solo i 32 bit inferiori.
 
Se una nuova esecuzione di mapping da aggiungere si sovrappone a un'esecuzione di mapping esistente, FsRtlAddLargeMcbEntry li unisce in un'unica esecuzione di mapping.

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

Per inizializzare un mcb, chiamare FsRtlInitializeLargeMcb. Per inizializzare un MCB, chiamare FsRtlUninitializeLargeMcb.

Requisiti

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

Vedi anche

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb