функция обратного вызова DXGKDDI_COLLECTDBGINFO (d3dkmddi.h)
Функция DxgkDdiCollectDbgInfo выводит сведения о драйвере для отчета об отладке.
Синтаксис
DXGKDDI_COLLECTDBGINFO DxgkddiCollectdbginfo;
NTSTATUS DxgkddiCollectdbginfo(
[in] IN_CONST_HANDLE hAdapter,
[in/out] IN_CONST_PDXGKARG_COLLECTDBGINFO pCollectDbgInfo
)
{...}
Параметры
[in] hAdapter
Дескриптор для блока контекста, связанного с видеоадаптером. Мини-порт отображения (KMD) ранее предоставлял этот дескриптор dxgkrnl в выходном параметре MiniportDeviceContextобъекта DxgkDdiAddDevice.
[in/out] pCollectDbgInfo
Указатель на структуру DXGKARG_COLLECTDBGINFO , содержащую сведения для отчета об отладке.
Возвращаемое значение
DxgkDdiCollectDbgInfo возвращает одно из следующих значений:
Код возврата | Описание |
---|---|
STATUS_SUCCESS | DxgkDdiCollectDbgInfo успешно выводит сведения о драйвере для отчета об отладке; ИЛИ ОС проигнорировала содержимое буфера, на который указывает pBuffer , и не добавила сведения из DxgkDdiCollectDbgInfo в отчет об отладке. |
STATUS_NO_MEMORY | DxgkDdiCollectDbgInfo не удалось выделить память, необходимую для ее завершения. |
STATUS_UNSUCCESSFUL | Другая ошибка не позволила драйверу собрать допустимые отладочные сведения. |
Комментарии
Dxgkrnl вызывает функцию DXGkDdiCollectDbgInfo KMD, когда ОС создает отчет об отладке, связанный с драйвером. DxgkDdiCollectDbgInfo может вызываться непосредственно перед работой обнаружения и восстановления времени ожидания (TDR) или непосредственно перед проверками ошибок ОС. Хотя 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 (см. примечания) |