Функция FsRtlRemoveLargeMcbEntry (ntifs.h)

Подпрограмма FsRtlRemoveLargeMcbEntry удаляет одно или несколько сопоставлений из блока управления картой (MCB).

Синтаксис

void FsRtlRemoveLargeMcbEntry(
  PLARGE_MCB Mcb,
  LONGLONG   Vbn,
  LONGLONG   SectorCount
);

Параметры

Mcb

Указатель на структуру MCB.

Vbn

Начальный номер виртуального блока (VBN) диапазона, для которого сопоставления должны быть удалены из MCB.

SectorCount

Количество секторов (VN) в диапазоне, для которого требуется удалить сопоставления.

Возвращаемое значение

None

Remarks

FsRtlRemoveLargeMcbEntry удаляет все сопоставления виртуальных сетей с LBN в MCB, которые входят в диапазон виртуальных сетей, который начинается с *LargeVbn и заканчивается на (*LargeVbn + LargeSectorCount — 1).

Примечание Верхние 32 бита LBN игнорируются. Используются только нижние 32 бита.
 
Пробелы (пробелы) между сопоставлениями игнорируются.

Если диапазон Удаляемых виртуальных сетей включает максимально сопоставленный VBN в MCB, член PairCount MCB корректируется соответствующим образом.

Если происходит сбой выделения пула, FsRtlRemoveLargeMcbEntry вызывает исключение STATUS_INSUFFICIENT_RESOURCES. Чтобы получить контроль в случае сбоя выделения пула, драйвер должен заключить вызов FsRtlRemoveLargeMcbEntry в инструкцию try-except или try-finally .

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также раздел

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb