KBUGCHECK_ADD_PAGES 結構 (wdm.h)

KBUGCHECK_ADD_PAGES 結構描述KBUGCHECK_REASON_CALLBACK_ROUTINE回呼函式寫入損毀傾印檔案的一或多個驅動程式提供的數據頁面。

語法

typedef struct _KBUGCHECK_ADD_PAGES {
  PVOID     Context;
  ULONG     Flags;
  ULONG     BugCheckCode;
  ULONG_PTR Address;
  ULONG_PTR Count;
} KBUGCHECK_ADD_PAGES, *PKBUGCHECK_ADD_PAGES;

成員

Context

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

Flags

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

KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS

表示 Address 成員包含虛擬位址。

KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS

表示 Address 成員包含實體位址。

KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST

表示回呼例程要求再次呼叫,以便新增更多頁面。

回呼例程必須設定KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS旗標或KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS旗標,但不能同時設定兩者。 在回呼例程的專案上, 旗標 會初始化為零。

BugCheckCode

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

Address

指定將回呼例程要求新增至損毀傾印檔案的頁面實體或虛擬位址。

Count

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

備註

在呼叫 KbCallbackAddPages 回呼例程中,操作系統會將 Reason 參數設定為 KbCallbackAddPages,並將 ReasonSpecificData 參數設定為指向KBUGCHECK_ADD_PAGES結構。

如需如何使用這個結構的詳細資訊,請參閱 撰寫錯誤檢查回呼例程KBUGCHECK_REASON_CALLBACK_ROUTINE 回呼函式。

規格需求

需求
最低支援的用戶端 Windows Server 2008 和更新版本的 Windows 支援。
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)

另請參閱

撰寫錯誤檢查回呼例程