Compartir a través de


Función FsRtlAddLargeMcbEntry (ntifs.h)

La rutina de FsRtlAddLargeMcbEnt ry 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

Iniciando 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.

Observaciones

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 los 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 un try-except o instrucción try-finally.

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

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= APC_LEVEL

Consulte también

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb