Поделиться через


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

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

Синтаксис

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

Параметры

Mcb

Указатель на инициализируемую структуру MCB, выделенную вызывающим объектом.

[in] PoolType

Тип пула, используемого при выделении дополнительного внутреннего хранилища для MCB. Это может быть:

  • NonPagedPool
  • PagedPool
  • NonPagedPoolCacheAligned
  • PagedPoolCacheAligned

Типы пулов NonPagedPoolMustSucceed и NonPagedPoolCacheAlignedMustS являются устаревшими и больше не должны использоваться.

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

None

Remarks

FsRtlInitializeLargeMcb инициализирует структуру блока управления картой (MCB). Файловые системы используют структуры MCB для сопоставления номеров виртуальных блоков (VBN) для файла с соответствующими номерами логических блоков (LBN) на диске.

Верхние 32 бита LBN игнорируются. Используются только нижние 32 бита.

Файловые системы должны вызывать FsRtlInitializeLargeMcb перед использованием любых других подпрограмм FsRtlXxxMcbYyy в структуре MCB.

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

Требования

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

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

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb