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. Anteriormente, el miniporte de pantalla (KMD) proporcionó este identificador para dxgkrnl en el miniportDeviceContext parámetro de salida 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 información del controlador de salida correcta para un informe de depuración; O bien, el sistema operativo omitió el contenido del búfer al que pBuffer apunta a y no agregó información de DxgkDdiCollectDbgInfo 2 al informe de depuración.
STATUS_NO_MEMORY DxgkDdiCollectDbgInfo2 no se 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.

Observaciones

Dxgkrnl llama a la función DxgkDdiCollectDbgInfo 2 de KMD cada vez que el sistema operativo está a punto de generar un informe de depuración relacionado con el controlador. dxgkDdiCollectDbgInfo2 podría llamarse inmediatamente antes de que trabajo de detección y recuperación (TDR) de tiempo de espera o inmediatamente antes de las comprobaciones de errores del sistema operativo. Aunque DxgkDdiCollectDbgInfo2 debe devolver lo más rápido posible, no hay ninguna cantidad máxima de tiempo 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 al 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 pCollectDbgInfo2-> pBuffer. El número máximo de bytes de información que el controlador puede copiar se especifica mediante pCollectDbgInfo2->BufferSize.

DxgkDdiCollectDbgInfo normalmente se ejecuta 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_LEVELy admite sincronización de nivel cero.

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

Requisitos

Requisito Valor
cliente mínimo admitido Windows 11, versión 24H2 (WDDM 3.2)
encabezado de d3dkmddi.h
irQL PASSIVE_LEVEL (ver comentarios)

Consulte también

DXGKARG_COLLECTDBGINFO2

dxgkDdiCollectDbgInfo