FsRtlRemoveLargeMcbEntry 関数 (ntifs.h)
FsRtlRemoveLargeMcbEntry ルーチンは、マップ制御ブロック (MCB) から 1 つ以上のマッピングを削除します。
構文
void FsRtlRemoveLargeMcbEntry(
PLARGE_MCB Mcb,
LONGLONG Vbn,
LONGLONG SectorCount
);
パラメーター
Mcb
MCB 構造体へのポインター。
Vbn
MCB からマッピングを削除する範囲の開始仮想ブロック番号 (VBN)。
SectorCount
マッピングを削除する範囲内のセクター数 (VBN)。
戻り値
なし
解説
FsRtlRemoveLargeMcbEntry は、*LargeVbn で始まり、末尾が (*LargeVbnLargeSectorCount - 1) の VBN の範囲内にある MCB 内の LBN への VBN + のすべてのマッピングを削除します。
メモ LBN の上位 32 ビットは無視されます。 下位 32 ビットのみが使用されます。
削除する VBN の範囲に MCB のマップされた最も高い VBN が含まれている場合は、それに応じて MCB の PairCount メンバーが調整されます。
プール割り当てエラーが発生した場合、 FsRtlRemoveLargeMcbEntry はSTATUS_INSUFFICIENT_RESOURCES例外を発生させます。 このプール割り当てエラーが発生したかどうかを制御するには、ドライバーは FsRtlRemoveLargeMcbEntry の呼び出しを try-except ステートメントまたは try-finally ステートメントでラップする必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= APC_LEVEL |