次の方法で共有


FsRtlSplitLargeMcb 関数 (ntifs.h)

FsRtlSplitLargeMcb ルーチンは、マップ制御ブロック (MCB) のマッピングに穴を挿入します。

構文

BOOLEAN FsRtlSplitLargeMcb(
  [in] PLARGE_MCB Mcb,
  [in] LONGLONG   Vbn,
  [in] LONGLONG   Amount
);

パラメーター

[in] Mcb

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

[in] Vbn

マッピング範囲の仮想ブロック番号 (VBN) を [ Amount ] で上方向にシフトし、穴のスペースを増やします。

[in] Amount

作成する穴内のセクター数 (VBN)。

戻り値

穴が正常に作成された場合、FsRtlSplitLargeMcbTRUE を返し、それ以外の場合は FALSE を返します。

注釈

穴は、2 つのマッピング間のギャップを形成するマップされていない VBN の範囲です。

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

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL

こちらもご覧ください

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb