FsRtlInitializeLargeMcb 函数 (ntifs.h)

FsRtlInitializeLargeMcb 例程初始化地图控制块 (MCB) 结构。

语法

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

参数

Mcb

指向要初始化的调用方分配的 MCB 结构的指针。

[in] PoolType

为 MCB 分配其他内部存储时要使用的池类型。 以下项之一:

  • NonPagedPool
  • PagedPool
  • NonPagedPoolCacheAligned
  • PagedPoolCacheAligned

NonPagedPoolMustSucceedNonPagedPoolCacheAlignedMustS 池类型已过时,不应再使用。

返回值

没有

言论

FsRtlInitializeLargeMcb 初始化地图控制块 (MCB) 结构。 文件系统使用 MCB 结构将虚拟块号(VBN)映射到磁盘上的相应逻辑块号(LBN)。

忽略 LBN 的上 32 位。 仅使用较低的 32 位。

文件系统必须先调用 FsRtlInitializeLargeMcb,然后才能在 MCB 结构上使用任何其他 FsRtlXxxMcbYyy 例程。

如果池分配失败,FsRtlInitializeLargeMcb 引发STATUS_INSUFFICIENT_RESOURCES异常。 若要控制此池分配失败是否发生,驱动程序应在 try-except 或 try-finally 语句 中包装调用 FsRtlInitializeLargeMcb

要求

要求 价值
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb