共用方式為


DXGKDDI_COLLECTDBGINFO回呼函式 (d3dkmddi.h)

DxgkDdiCollectDbgInfo 函式會輸出偵錯報表的驅動程序資訊。

語法

DXGKDDI_COLLECTDBGINFO DxgkddiCollectdbginfo;

NTSTATUS DxgkddiCollectdbginfo(
  [in]     IN_CONST_HANDLE hAdapter,
  [in/out] IN_CONST_PDXGKARG_COLLECTDBGINFO pCollectDbgInfo
)
{...}

參數

[in] hAdapter

與顯示配接器相關聯的內容區塊句柄。 先前在 DxgkDdiAddDeviceMiniportDDeviceContext 輸出參數中,顯示迷你埠 (KMD) 提供給 Dxgkrnl

[in/out] pCollectDbgInfo

包含偵錯報表資訊的DXGKARG_COLLECTDBGINFO結構的指標。

傳回值

DxgkDdiCollectDbgInfo 會傳回下列其中一個值:

傳回碼 Description
STATUS_SUCCESS DxgkDdiCollectDbgInfo 已成功輸出偵錯報表的驅動程序資訊;或者,OS 會忽略 pBuffer 指向緩衝區中的內容,而且不會將 DxgkDdiCollectDbgInfo 中的資訊新增至偵錯報表。
STATUS_NO_MEMORY DxgkDdiCollectDbgInfo 無法設定完成所需的記憶體。
STATUS_UNSUCCESSFUL 另一個錯誤導致驅動程式無法收集有效的偵錯資訊。

備註

每當操作系統即將產生驅動程式相關的偵錯報告時,Dxgkrnl 就會呼叫 KMD 的 DxgkDollectDbgInfo 函式。 DxgkDdiCollectDbgInfo 可能會在 逾時偵測和復原 (TDR 之前立即呼叫) ,或緊接在 OS 錯誤檢查之前。 雖然 DxgkDdiCollectDbgInfo 應該儘快傳回,但驅動程式可以在此函式中花費的最大時間量。

KMD 應該收集偵錯資訊。 呼叫 DxgkDdiCollectDbgInfo 時,驅動程式會在 pCollectDbgInfo-Reason> 中收到錯誤檢查程式代碼,指出偵錯報表所需的信息類型。 驅動程式會將必要的偵錯資訊複製到 pCollectDbgInfo-pBuffer> 指向的緩衝區。 驅動程式可複製的資訊位元組數目上限是由 pCollectDbgInfo-BufferSize> 所指定。

DxgkDdiCollectDbgInfo 通常會在未定義的 IRQL 上執行。 不過,如果 pCollectDbgInfo-Reason> 設定為 VIDEO_TDR_TIMEOUT_DETECTED ( 表示全適配卡重設) 或VIDEO_ENGINE_TIMEOUT_DETECTED (Windows 8 可用,以指出實體配接器) 內的一或多個節點重設,驅動程式必須確定 DxgkDdiCollectDbgInfo 可分頁、在 IRQL = PASSIVE_LEVEL執行,並支援同步處理零層級

規格需求

需求
最低支援的用戶端 Windows Vista
目標平台 桌面
標頭 d3dkmddi.h
IRQL PASSIVE_LEVEL (请参阅备注)

另請參閱

DXGKARG_COLLECTDBGINFO

DxgkDdiAddDevice

DxgkDdiResetFromTimeout