Compartir a través de


Función FsRtlAddLargeMcbEntry (ntifs.h)

La rutina FsRtlAddLargeMcbEntry agrega una nueva asignación a un bloque de control de mapa existente (MCB).

Sintaxis

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

Parámetros

Mcb

Puntero a una estructura MCB inicializada.

Vbn

Iniciar el número de bloque virtual (VBN) de la nueva ejecución de asignación que se va a agregar al MCB.

Lbn

Número de bloque lógico (LBN) al que se va a asignar LargeVbn .

SectorCount

Número de sectores de la nueva ejecución de asignación.

Valor devuelto

FsRtlAddLargeMcbEntry devuelve TRUE si la nueva asignación se agregó correctamente al MCB, FALSE en caso contrario.

Comentarios

FsRtlAddLargeMcbEntry agrega una nueva asignación a un bloque de control de mapa existente (MCB). Los sistemas de archivos usan estructuras MCB para asignar números de bloque virtual (VBN) para un archivo a los números de bloque lógicos (LBN) correspondientes en el disco.

Nota Se omiten los 32 bits superiores del LBN, pero deben establecerse en cero. Solo se usan los 32 bits inferiores.
 
Si una nueva ejecución de asignación que se va a agregar se superpone a una ejecución de asignación existente, FsRtlAddLargeMcbEntry las combina en una sola ejecución de asignación.

Si se produce un error de asignación de grupo, FsRtlAddLargeMcbEntry genera una excepción de STATUS_INSUFFICIENT_RESOURCES. Para obtener control si se produce este error de asignación de grupo, el controlador debe encapsular la llamada a FsRtlAddLargeMcbEntry en una instrucción try-except o try-finally .

Para inicializar un MCB, llame a FsRtlInitializeLargeMcb. Para anular la inicialización de un MCB, llame a FsRtlUninitializeLargeMcb.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb