次の方法で共有


FsRtlRemoveLargeMcbEntry 関数 (ntifs.h)

FsRtlRemoveLargeMcbEntry ルーチンは、マップ制御ブロック (MCB) から 1 つ以上のマッピングを削除します。

構文

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

パラメーター

Mcb

MCB 構造体へのポインター。

Vbn

MCB からマッピングを削除する範囲の開始仮想ブロック番号 (VBN)。

SectorCount

マッピングを削除する範囲のセクター数 (VBN)。

戻り値

何一つ

備考

FsRtlRemoveLargeMcbEntry は、*LargeVbn で始まり、(*LargeVbn + LargeSectorCount - 1) で終わる VBN の範囲内にある、MCB 内の LBN への VBN のすべてのマッピングを削除します。

LBN の上位 32 ビットは無視されます。 下位 32 ビットのみが使用されます。
 
マッピング間の穴 (ギャップ) は無視されます。

削除する VBN の範囲に MCB 内の最も高いマップされた VBN が含まれている場合、MCB の PairCount メンバーはそれに応じて調整されます。

プールの割り当てエラーが発生した場合、fsRtlRemoveLargeMcbEntry はSTATUS_INSUFFICIENT_RESOURCES例外を発生させます。 このプールの割り当てエラーが発生したかどうかを制御するには、ドライバーは、try-except または try-finally ステートメントで FsRtlRemoveLargeMcbEntry への呼び出し ラップする必要があります。

必要条件

要件 価値
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

関連項目

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb