Partager via


Fonction FsRtlSplitLargeMcb (ntifs.h)

La routine FsRtlSplitLargeMcb insère un trou dans les mappages d’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

Numéro de bloc virtuel (VBN) de départ de la plage de mappages à déplacer vers le haut par Amount pour faire de la place pour le trou.

[in] Amount

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

Valeur retournée

FsRtlSplitLargeMcb retourne TRUE si le trou a été créé avec succès, FALSE sinon.

Remarques

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

Si un échec d’allocation de pool se produit, FsRtlSplitLargeMcb 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 à FsRtlSplitLargeMcb dans une instruction try-except ou try-finally .

Configuration requise

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

Voir aussi

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb