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
表示 位址 成員包含虛擬位址。
KB_ADD_PAGES_FLAG_PHYSICAL_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
指定要新增至損毀傾印檔案的連續頁面數目,從 Address 成員所指定的虛擬或實體地址開始。 如果 Count> 1 和 Address 是虛擬位址,則分頁在虛擬記憶體空間中是連續的。 如果 Count> 1 和 Address 為實體位址,則分頁在物理記憶體空間中是連續的。 回呼例程可以將這個成員設定為零,表示不需要將任何頁面新增至損毀傾印檔案。
言論
在呼叫 KbCallbackAddPages 回呼例程時,作系統會將 Reason 參數設定為 KbCallbackAddPages,並將 reasonSpecificData 參數設定為指向 KBUGCHECK_ADD_PAGES 結構。
如需如何使用此結構的詳細資訊,請參閱 撰寫 Bug 檢查回呼例程 和 KBUGCHECK_REASON_CALLBACK_ROUTINE 回呼函式。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Server 2008 和更新版本的 Windows 支援。 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |