DXGKDDI_COLLECTDIAGNOSTICINFO función de devolución de llamada (dispmprt.h)

La rutina de devolución de llamada DxgkDdiCollectDiagnosticInfo recopila la información del controlador privado por motivos especificados por DXGK_DIAGNOSTICINFO_TYPE.

En Windows 10, versión 1903, se llamará al controlador para recopilar información privada si se produjo un error en las llamadas de función a DxgkDdiAddDevice o DxgkDdiStartDevice.

Sintaxis

DXGKDDI_COLLECTDIAGNOSTICINFO DxgkddiCollectdiagnosticinfo;

NTSTATUS DxgkddiCollectdiagnosticinfo(
  [in]      IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
  [in, out] INOUT_PDXGKARG_COLLECTDIAGNOSTICINFO pCollectDiagnosticInfo
)
{...}

Parámetros

[in] PhysicalDeviceObject

Puntero a un objeto de dispositivo físico (PDO) que identifica un adaptador de pantalla.

[in, out] pCollectDiagnosticInfo

Puntero a una estructura de DXGKARG_COLLECTDIAGNOSTICINFO que describe la información recopilada por el controlador.

Valor devuelto

Devuelve STATUS_SUCCESS si la información de datos privados se recopiló correctamente. De lo contrario, devuelve un código de error como uno de los siguientes.

Código de error Significado
STATUS_DRIVER_INTERNAL_ERROR Se produjo un error de SW genérico dentro del controlador.
STATUS_ACCESS_DENIED El hardware está siendo utilizado actualmente por otros subprocesos y este DDI no puede obtener acceso a él.
STATUS_DEVICE_HARDWARE_ERROR Se produjo un error de HW genérico.
STATUS_DEVICE_POWERED_OFF El dispositivo está apagado.

Comentarios

Esta función se llama en el nivel PASIVO, en cualquier momento entre las llamadas a DxgkDdiAddDevice y DxgkDdiStartDevice, y debe admitir el nivel cero de sincronización. Los datos recopilados no deben contener ninguna información de usuario privada.

Se requieren controladores WDDM 2.7 y versiones posteriores para admitir el tipo de enumeración DXGK_DI_BLACKSCREENDXGK_DIAGNOSTICINFO_TYPE DXGK_DI_BLACKSCREEN para la recopilación de datos de caja negra de pantalla negra.

En escenarios de pantalla negra, el sistema operativo recopilará primero los datos de caja blanca del controlador llamando a DxgkDdiGetDisplayStateNonIntrusive y DxgkDdiGetDisplayStateIntrusive antes de llamar a esta DDI para recopilar información de cuadro negro.

Se recomienda usar pCollectDiagnosticInfo-BucketingString> para calcular los datos de caja negra siempre que sea posible. Si el tamaño del búfer de entrada BufferSizeIn no es suficiente para todos los datos de caja negra, los controladores deben hacer sus propios inconvenientes al dejar los datos menos importantes en la mayoría de los análisis de la causa principal de la pantalla negra.

Requisitos

   
Cliente mínimo compatible Windows 10, versión 1903
Header dispmprt.h
IRQL PASSIVE_LEVEL

Consulte también

DXGKARG_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiStartDevice