Функция 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 |