Partager via


FsRtlSplitLargeMcb, fonction (ntifs.h)

La routine FsRtlSplitLargeMcb insère un trou dans les mappages dans un bloc de contrôle de carte (MCB).

Syntaxe

BOOLEAN FsRtlSplitLargeMcb(
  [in] PLARGE_MCB Mcb,
  [in] LONGLONG   Vbn,
  [in] LONGLONG   Amount
);

Paramètres

[in] Mcb

Pointeur vers la structure MCB.

[in] Vbn

Démarrage du numéro de bloc virtuel (VBN) de la plage de mappages à déplacer vers le haut par Amount pour faire place au trou.

[in] Amount

Nombre de secteurs (VBN) dans le trou à créer.

Valeur de retour

FsRtlSplitLargeMcb retourne TRUE si le trou a été créé, FALSE sinon.

Remarques

Un trou est une plage de VBN non mappés qui forment un écart entre deux mappages.

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

Exigences

Exigence Valeur
plateforme cible Universel
d’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

FsRtlRemoveLargeMcbEntry

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb