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


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

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

Синтаксис

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

Параметры

Mcb

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

[in] PoolType

Тип пула, используемый при выделении дополнительного внутреннего хранилища для MCB. Одно из следующих элементов:

  • NonPagedPool
  • PagedPool
  • NonPagedPoolCacheAligned
  • PagedPoolCacheAligned

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

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

Никакой

Замечания

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

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

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

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

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb