Partager via


FsRtlAddLargeMcbEntry, fonction (ntifs.h)

La routine FsRtlAddLargeMcbEntry ajoute un nouveau mappage à un bloc de contrôle de carte existant (MCB).

Syntaxe

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

Paramètres

Mcb

Pointeur vers une structure MCB initialisée.

Vbn

Démarrage du numéro de bloc virtuel (VBN) de la nouvelle exécution de mappage à ajouter à mcB.

Lbn

Numéro de bloc logique (LBN) auquel LargeVbn doit être mappé.

SectorCount

Nombre de secteurs dans la nouvelle exécution de mappage.

Valeur de retour

FsRtlAddLargeMcbEntry retourne TRUE si le nouveau mappage a été correctement ajouté au MCB, FALSE dans le cas contraire.

Remarques

FsRtlAddLargeMcbEntry ajoute un nouveau mappage à un bloc de contrôle de carte existant (MCB). Les systèmes de fichiers utilisent des structures MCB pour mapper des numéros de bloc virtuel (VBN) pour un fichier aux numéros de bloc logiques correspondants (LBN) sur le disque.

Remarque Les 32 bits supérieurs du LBN sont ignorés, mais ils doivent être définis sur zéro. Seuls les 32 bits inférieurs sont utilisés.
 
Si une nouvelle exécution de mappage à ajouter chevauche une exécution de mappage existante, FsRtlAddLargeMcbEntry les fusionne en une seule exécution de mappage.

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

Pour initialiser un MCB, appelez FsRtlInitializeLargeMcb. Pour annuler l’initialisation d’un MCB, appelez FsRtlUninitializeLargeMcb.

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

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb