Partager via


Fonction FsRtlGetNextLargeMcbEntry (ntifs.h)

La routine FsRtlGetNextLargeMcbEntry récupère une exécution de mappage à partir d’un bloc de contrôle de carte (MCB).

Syntaxe

BOOLEAN FsRtlGetNextLargeMcbEntry(
       PLARGE_MCB Mcb,
  [in] ULONG      RunIndex,
       PLONGLONG  Vbn,
       PLONGLONG  Lbn,
       PLONGLONG  SectorCount
);

Paramètres

Mcb

Pointeur vers une structure MCB initialisée.

[in] RunIndex

Index de base zéro de l’exécution de mappage demandée.

Vbn

Pointeur vers une variable qui reçoit le numéro de bloc virtuel (VBN) de départ de l’exécution de mappage, ou zéro si l’exécution n’existe pas. Sa valeur n’a aucun sens si FsRtlGetNextLargeMcbEntry retourne FALSE.

Lbn

Pointeur vers une variable qui reçoit le numéro de bloc logique de départ (LBN) de l’exécution de mappage, ou zéro si l’exécution n’existe pas. Sa valeur n’a aucun sens si FsRtlGetNextLargeMcbEntry retourne FALSE.

SectorCount

Pointeur vers une variable qui reçoit le nombre de secteurs dans l’exécution de mappage, ou zéro si l’exécution n’existe pas. Sa valeur n’a aucun sens si FsRtlGetNextLargeMcbEntry retourne FALSE.

Valeur retournée

FsRtlGetNextLargeMcbEntry retourne TRUE si l’exécution de mappage demandée existe dans le MCB, FALSE sinon.

Remarques

FsRtlGetNextLargeMcbEntry récupère le VBN de départ, le LBN de démarrage et le nombre de secteurs pour une exécution de mappage dans un MCB.

Note Les 32 bits supérieurs du LBN sont ignorés. Seuls les 32 bits inférieurs sont utilisés.
 
Les trous sont comptés comme des séries.

L’extrait de code suivant montre comment imprimer toutes les exécutions dans un fichier :

for (i = 0; FsRtlGetNextLargeMcbEntry(Mcb,i,&Vbn,&Lbn,&Count); i++) {

    // print out vbn, lbn, and count

}

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

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb