共用方式為


KBUGCHECK_REMOVE_PAGES結構 (wdm.h)

KBUGCHECK_REMOVE_PAGES 結構描述從損毀傾印檔案 KBUGCHECK_REASON_CALLBACK_ROUTINE 回呼例程移除的一或多個驅動程式提供的數據頁面。

語法

typedef struct _KBUGCHECK_REMOVE_PAGES {
  PVOID     Context;
  ULONG     Flags;
  ULONG     BugCheckCode;
  ULONG_PTR Address;
  ULONG_PTR Count;
} KBUGCHECK_REMOVE_PAGES, *PKBUGCHECK_REMOVE_PAGES;

成員

Context

包含私用內容數據,以獨佔使用回呼例程。 回呼例程可以將這個成員設定為任何值。 一般而言,如果需要多次呼叫回呼例程,例程會將這個成員設定為在初始呼叫期間指向驅動程式提供的緩衝區。 在後續呼叫期間,回呼例程可以讀取這個緩衝區的先前內容,並更新其內容。 在初始呼叫回呼例程之前,ContextNULL

Flags

包含描述移除頁面要求的旗標。 回呼例程必須設定這個成員的值。 將此成員設定為下列一或多個旗標位的位 OR:

KB_ADD_PAGES_FEATURE_SHIFT       4

KB_REMOVE_PAGES_FEATURE_SHIFT    4

KB_ADD_PAGES_FEATURE_MASK        (0xF << KB_ADD_PAGES_FEATURE_SHIFT)

KB_REMOVE_PAGES_FEATURE_MASK     (0xF << (KB_ADD_PAGES_FEATURE_SHIFT + KB_REMOVE_PAGES_FEATURE_SHIFT))

BugCheckCode

包含錯誤檢查程式代碼,指定錯誤檢查的原因。 回呼例程可以使用這項資訊來決定是否要將任何頁面新增至損毀傾印檔案。 如需錯誤檢查碼的完整清單,請參閱 WDK 中包含的 Bugcodes.h 頭檔。

Address

指定從損毀傾印檔案中移除回呼例程要求的頁面實體或虛擬位址。

Count

指定要從損毀傾印檔案中移除的連續頁面數目,從 Address 成員指定的虛擬或實體地址開始。 如果 Count> 1 和 Address 是虛擬位址,則分頁在虛擬記憶體空間中是連續的。 如果 Count> 1 和 Address 為實體位址,則分頁在物理記憶體空間中是連續的。 回呼例程可以將這個成員設定為零,表示不需要從損毀傾印檔案中移除任何頁面。

言論

在呼叫 KBUGCHECK_REASON_CALLBACK_ROUTINE 回呼例程時,作系統會將 Reason 參數設定為 KbCallbackRemovePages,並將 ReasonSpecificData 參數設定為指向 KBUGCHECK_REMOVE_PAGES 結構。

如需 Bug 檢查回呼例程的詳細資訊,請參閱 撰寫 Bug 檢查回呼例程

要求

要求 價值
標頭 wdm.h