Share via


FsRtlRemoveLargeMcbEntry, fonction (ntifs.h)

La routine FsRtlRemoveLargeMcbEntry supprime un ou plusieurs mappages d’un bloc de contrôle de carte (MCB).

Syntaxe

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

Paramètres

Mcb

Pointeur vers la structure MCB.

Vbn

Numéro de bloc virtuel (VBN) de la plage pour laquelle les mappages doivent être supprimés du MCB.

SectorCount

Nombre de secteurs (VBN) dans la plage pour lesquels les mappages doivent être supprimés.

Valeur de retour

None

Remarques

FsRtlRemoveLargeMcbEntry supprime tous les mappages de VBN à LBN dans le MCB qui entrent dans la plage de VBN qui commence par *LargeVbn et se termine par (*LargeVbn + LargeSectorCount - 1).

Note Les 32 bits supérieurs du LBN sont ignorés. Seuls les 32 bits inférieurs sont utilisés.
 
Les trous (écarts) entre les mappages sont ignorés.

Si la plage de VBN à supprimer inclut le VBN mappé le plus élevé dans le MCB, le membre PairCount du MCB est ajusté en conséquence.

Si un échec d’allocation de pool se produit, FsRtlRemoveLargeMcbEntry lève une exception STATUS_INSUFFICIENT_RESOURCES. Pour contrôler si cet échec d’allocation de pool se produit, le pilote doit encapsuler l’appel à FsRtlRemoveLargeMcbEntry dans une instruction try-except ou try-finally .

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (include Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb