Compartir a través de


DXGKDDI_COLLECTDBGINFO2 función de devolución de llamada (d3dkmddi.h)

La función DxgkDdiCollectDbgInfo2 genera información del controlador para un informe de depuración.

Sintaxis

DXGKDDI_COLLECTDBGINFO2 DxgkddiCollectdbginfo2;

NTSTATUS DxgkddiCollectdbginfo2(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_COLLECTDBGINFO2 pCollectDbgInfo2
)
{...}

Parámetros

hAdapter

[in] Identificador de un bloque de contexto asociado a un adaptador de pantalla. El miniporte de pantalla (KMD) proporcionó anteriormente este identificador a Dxgkrnl en el parámetro de salida MiniportDeviceContext de DxgkDdiAddDevice.

pCollectDbgInfo2

[in/out] Puntero a una estructura de DXGKARG_COLLECTDBGINFO2 que contiene información para el informe de depuración.

Valor devuelto

DxgkDdiCollectDbgInfo2 devuelve uno de los siguientes valores:

Código devuelto Descripción
STATUS_SUCCESS DxgkDdiCollectDbgInfo2 genera correctamente la información del controlador de salida para un informe de depuración; O bien, el sistema operativo omitió el contenido del búfer al que pBuffer apunta y no agregó información de DxgkDdiCollectDbgInfo2 al informe de depuración.
STATUS_NO_MEMORY DxgkDdiCollectDbgInfo2 no pudo asignar memoria necesaria para que se complete.
STATUS_UNSUCCESSFUL Otro error impedía que el controlador recopilara información de depuración válida.

Comentarios

Dxgkrnl llama a la función DxgkDdiCollectDbgInfo2 de KMD cada vez que el sistema operativo está a punto de generar un informe de depuración relacionado con el controlador. Es posible que se llame a DxgkDdiCollectDbgInfo2 inmediatamente antes de que funcione la detección de tiempo de espera y la recuperación (TDR) o inmediatamente antes de las comprobaciones de errores del sistema operativo. Aunque DxgkDdiCollectDbgInfo2 debe devolver lo antes posible, no hay ninguna cantidad máxima definida por el sistema que el controlador pueda dedicar en esta función.

DxgkDdiCollectDbgInfo2 recibe información más detallada sobre la causa principal del TDR que dxgkDdiCollectDbgInfo . KMD puede guardar el estado pertinente para la parte de la GPU responsable del TDR.

  • No es necesario un controlador WDDM 3.2 para implementar DxgkddiCollectDbgInfo2, en cuyo caso el sistema operativo llama a DxgkddiCollectDbgInfo.

KMD debe recopilar información de depuración. Cuando se llama a DxgkDdiCollectDbgInfo2, el controlador recibe un código de comprobación de errores en pCollectDbgInfo2-Reason> que indica el tipo de información necesaria para el informe de depuración. El controlador copia la información de depuración necesaria en el búfer al que apunta pCollectDbgInfo2-pBuffer>. PCollectDbgInfo2-BufferSize> especifica el número máximo de bytes de información que el controlador puede copiar.

DxgkDdiCollectDbgInfo se ejecuta generalmente en un IRQL indefinido. Sin embargo, si pCollectDbgInfo2-Reason> está establecido en VIDEO_TDR_TIMEOUT_DETECTED (para indicar un restablecimiento de todo el adaptador) o VIDEO_ENGINE_TIMEOUT_DETECTED (disponible a partir de Windows 8 para indicar un restablecimiento de uno o varios nodos dentro de un adaptador físico), el controlador debe asegurarse de que DxgkDdiCollectDbgInfo2 es paginable, se ejecuta en IRQL = PASSIVE_LEVEL y admite el nivel cero de sincronización.

Para más información, consulte Mejoras de depuración de TDR.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 11, versión 24H2 (WDDM 3.2)
Encabezado d3dkmddi.h
IRQL PASSIVE_LEVEL (ver comentarios)

Consulte también

DXGKARG_COLLECTDBGINFO2

DxgkDdiCollectDbgInfo