Condividi tramite


Funzione FsRtlInitializeLargeMcb (ntifs.h)

La routine FsRtlInitializeLargeMcb inizializza una struttura mcb (Map Control Block).

Sintassi

void FsRtlInitializeLargeMcb(
       PLARGE_MCB Mcb,
  [in] POOL_TYPE  PoolType
);

Parametri

Mcb

Puntatore a una struttura MCB allocata dal chiamante per l'inizializzazione.

[in] PoolType

Tipo di pool da usare per l'allocazione di spazio di archiviazione interno aggiuntivo per mcb. Uno dei seguenti:

  • NonPagedPool
  • PagedPool
  • NonPagedPoolCacheAligned
  • pagedPoolCacheAligned

I nonPagedPoolMustSucceed e nonPagedPoolCacheAlignedMustS tipi di pool sono obsoleti e non devono più essere usati.

Valore restituito

Nessuno

Osservazioni

FsRtlInitializeLargeMcb inizializza una struttura mcb (Map Control Block). I file system usano strutture MCB per eseguire il mapping dei numeri di blocco virtuale (VBN) per un file ai numeri di blocco logici corrispondenti (LBN) su disco.

I 32 bit superiori del codice LBN vengono ignorati. Vengono usati solo i 32 bit inferiori.

I file system devono chiamare FsRtlInitializeLargeMcb prima di usare qualsiasi altra routine fsRtlXxxMcbYyy nella struttura MCB.

Se si verifica un errore di allocazione del pool, FsRtlInitializeLargeMcb genera un'eccezione STATUS_INSUFFICIENT_RESOURCES. Per controllare se si verifica questo errore di allocazione del pool, il driver deve eseguire il wrapping della chiamata a FsRtlInitializeLargeMcb in un try-except o istruzione try-finally.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione ntifs.h (include Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL <= APC_LEVEL

Vedere anche

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb