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 la función llama a DxgkDdiAddDevice o DxgkDdiStartDevice error.

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 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 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.

Observaciones

Esta función se llama en el nivel PASIVO, en cualquier momento entre las llamadas a DxgkDdiAddDevice y DxgkDdiStartDevicey debe admitir nivel cero de sincronización. Los datos recopilados no deben contener 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 para la recopilación de datos de caja negra de pantalla negra.

Para 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 caja negra.

Se recomienda usar pCollectDiagnosticInfo->bucketingString para convertir en cubo los datos de caja negra siempre que sea posible. Si el tamaño del BufferSizeIn búfer de entrada no es suficiente para todos los datos de caja negra, los controladores deben hacer sus propias ventajas al salir de los datos que son menos importantes en la mayoría de las causas principales de la pantalla negra.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 10, versión 1903
encabezado de dispmprt.h
irQL PASSIVE_LEVEL

Consulte también

DXGKARG_COLLECTDIAGNOSTICINFO

dxgkDdiAddDevice

dxgkDdiStartDevice